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

Denilson Sá Maia picture Denilson Sá Maia · Jan 23, 2011 · Viewed 25.8k times · Source

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

Answer

pnewhook picture pnewhook · Jan 27, 2011

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.