30
votes

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.

2
Well, you've pretty much got it covered in your question :) Which parts are you confused about or need clarification?Ranhiru Jude Cooray
Good to hear, I was just looking to see if I'd go anything wrong. Well, I'm a bit confused about the relationship between the Selenese test cases and a full blown script in WebDriver. Is the Selenese a kind of IDE-only "binding" that references parts of the full WebDriver API?persepolis

2 Answers

46
votes

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:

  • Selenium Grid is a server that distributes tests across a set of Selenium Servers. In Selenium 1 it is a separate server, in Selenium 2 it is integrated into the Selenium Server.
1
votes

Accepted answer is good, but since then better explanation were posted on internet: