Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between Selenium IDE, Server, RC, 2.0, and WebDriver?

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.

like image 835
persepolis Avatar asked Aug 09 '11 10:08

persepolis


People also ask

What is the difference between Selenium IDE server RC and WebDriver?

The major difference between RC and WebDriver is, RC uses a remote control to convert your tests into browser native code, your tests interact with the Remote control and the remote control interacts with the browser where as WebDriver directly interacts with the browser without any Remote server, so the execution is ...

What is IDE RC WebDriver?

Selenium Remote Control (RC) is used to write test cases in different Programming languages. In Selenium IDE, we can run the recorded scripts only in Firefox browser, whereas, in Selenium RC, we can run the recorded script in any browser like IE, Chrome, Safari, Opera and so on.


2 Answers

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.
like image 81
Ross Patterson Avatar answered Nov 10 '22 19:11

Ross Patterson


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

  • Relationships between different versions of Selenium - with a graph of relations
  • Architecture of Selenium WebDriver by Simon Stewart, explaining history of the project, and challenges. Fascinating reading!
like image 32
Peter M. - stands for Monica Avatar answered Nov 10 '22 19:11

Peter M. - stands for Monica