Selenium seems to have a lot of different components and the website does not explain them very well and I'm still a bit confused which is which. What's the difference or purpose between:
Selenium IDE Selenium Server Selenium Remote Control WebDriver Selenium 2
My understanding is as follows:
Selenium IDE is a GUI plugin used for rapid prototyping of test cases in Selenese/HTML.
Selenium Server is a standalone java program which allows you to run HTML test suites in a range of different browsers, plus extra options like reporting.
Selenium Remote Control is the old name for Selenium Server, which only supports version 1 of the Selenium API.
WebDriver is the actual core API which has bindings in a range of languages and allows you to write standalone tests.
Selenium 2 is the latest version of the Selenium project, and includes the IDE, Server and WebDriver.
You're almost right.
Selenium IDE is a Firefox plugin used for rapid prototyping of test cases in Selenese/HTML, which can also export test cases in a variety of programming languages.
Selenium Server is a standalone java program which allows you to run test cases written in a variety of programming languages with a variety of web browsers, and which can additionally run HTML test suites in a range of different browsers, plus extra options like reporting. (My point is that the --htmlsuite option of selenium-server.jar is not its primary function, and will soon be split out into a separate program.)
Selenium Remote Control is an API for programming tests in a variety of languages in Selenium 1 and Selenium 2, and also the name of the Selenium 1 server that runs the API.
WebDriver is an API for programming tests in a variety of languages in Selenium 2, which can run with or without a server.
Selenium 2 is the latest version of the Selenium project, and includes the IDE, Server and both the Selenium RC and WebDriver APIs.
In addition: