Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between Selenium Remote Control and Selenium Server?

On Selenium download page, there is a link to the Selenium RC (Remote Control).

On another Selenium download page, there are links for a Selenium RC 1.0.3, as well as Selenium 2 Server, sometimes also called Selenium 2 Standalone Server.

What is the difference between them?

If there are limitations, what are the limitations of each one?

Is the Selenium Server replacing the Remote Control?

Related question: selenium remote control vs webdriver

like image 244
Denilson Sá Maia Avatar asked Jan 23 '11 14:01

Denilson Sá Maia


People also ask

What is the difference between Selenium Remote Control and selenium WebDriver?

Selenium WebDriver performs faster than Selenium RC because it interacts directly with the browser without using any external proxy server. Selenium RC, on the other hand uses an intermediate RC Server to communicate with the browser.

What is Selenium Remote Control?

Selenium RC is a key part in Selenium. It is a framework for testing that allows testers and developers to design test scripts in multiple languages to automate frontend UI test cases. It has a client library and a server that starts and quits the browser sessions by default.

Does Selenium RC use Selenium server?

Selenium RC Architecture Selenium RC comes in two parts. The Selenium Server launches and kills browsers. In addition to that, it interprets and executes the Selenese commands. It also acts as an HTTP proxy by intercepting and verifying HTTP messages passed between the browser and the application under test.

What is a selenium server?

What is a Selenium Standalone server? Selenium Standalone server is a java jar file used to start the Selenium server. It is a smart proxy server that allows Selenium tests to route commands to remote web browser instances. The aim is to provide an easy way to run tests in parallel on multiple machines.


1 Answers

You should take a look at the documentation outlining the different parts of Selenium. That's a good place to start as it guides you through the process of getting setup. Full disclosure, I help write the docs.

As for those downloads, the first link you have is the official releases for the project. The second link is the current beta builds, once they hit 2.0 they'll be on the site.

  • Selenium Core - more a component of selenium than a stand alone project. Without going into the project history, Selenium was once just a collection of .js files that automated a browser. No one uses these directly, they're just there for legacy reasons.
  • Selenium IDE - a firefox plugin for record/playback. You may want to start with this, to get used to the api, but you'll outgrow it soon
  • Selenium RC and when you do outgrow it, you'll use Selenium Remote Control. Selenium 1.x is a client-server architecture. You use the RC libraries to program tests that communicate with the server, and the server relays those commands to a browser.
  • Selenium Grid - a way to run Selenium testing on a distributed network of computers. Good for speeding things up once you've got a lot of tests.
  • Cubic Test - An eclipse-based tool that leverages selenium for testing. Not sure how popular it is.
  • Bromine - a web based script and test management tool. Uses selenium RC to run tests.

Then we get to the Selenium 2 beta. Selenium 2 is a major departure from the Selenium 1 model because it doesn't require a Selenium server. I say 'require' because it's optional to run the tests remotely on another computer. Selenium Server Standalone is the server you'd use for this. It's compatible with Selenium-RC as well as Selenium 2 for remote purposes.

You may have seen Selenium 2 referred to as WebDriver. WebDriver was another project that was merged a couple years ago and became the basis for Selenium 2. That's why Selenium 2 has a WebDriver interface, sometimes called the "WebDriver" api to distinguish from Selenium-RC.

If you're just starting out, I'd take a look at Selenium 2. It's getting 99.9% of the developer love right now, and the Selenium 1.x apis won't be advancing any further. As of January 2011 the Java libraries are the best supported, followed closely by .Net and Python/Ruby. Watir (the popular Ruby browser automation library) uses selenium under the hood if you want another api option.

like image 152
pnewhook Avatar answered Sep 23 '22 12:09

pnewhook