Question

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

Was it helpful?

Solution

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.

OTHER TIPS

The documentation on Selenium's website says that the Remote Control consist of

  • a server
  • client libraries

The server is responsible for doing the actual work (executing actions in the browser) while your specifications for actions (the control of execution) comes from the different libraries.

This is called the Remote Control because the server does not have to be deployed on the same machine where the actual scripts are executed. The scripts can connect to a remote selenium server over the network and execute actions.

To sum up, when you are using the Selenium Remote Control, you are using the server + client libraries. They are meant to be used together.

I do not know if this is going to be the same for Selenium 2 or if they are changing things. I am only confident this is how things work for Selenium 1.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top