views:

269

answers:

2

I can see that since selenium 2.0, webdriver and selenium rc are packaged together for download. Now I primarily use webdriver, but can I bring in selenium rc in my testing scripts from now and then? Is there anything that selenium rc is capable of but webdriver is not, or vice versa?

+1  A: 

The biggest difference is RC runs from a vs, 2.0 uses Webdriver and launches the browser, instead of using a vs. In order to you RC in 2.0, check here: http://seleniumhq.org/docs/09_webdriver.html#emulating-selenium-rc

I dont know how to take 2.0 into RC though, but were do you see they are packaged together? They are two different products. Selenium 2 is webdriver, and Selenium RC is Selenium 1.

Personally, I found 2.0 a lot easier to program with. Plus by the end of the year Javascript alert support should be implemented, which is a huge plus!

James
I mean they are packaged in a .zip for download. Of course two different packages (org.thoughtwork.selenium.Selenium and org.openqa.selenium.WebDriver). It is sad to hear that JS alert is not supported by now, which is related to my another question (http://stackoverflow.com/questions/3613584/webdriver-dismiss-a-alert-box).
zihaoyu
+3  A: 

You should probably start your research here (though you may have already gone over this): http://seleniumhq.org/docs/09_webdriver.html

I'll assume you're contrasting Selenium-RC to WebDriver, Selenium-IDE really isn't in the same ballpark.

Selenium uses JavaScript to automate web pages. This lets it interact very tightly with web content, and was one of the first automation tools to support Ajax and other heavily dynamic pages. However, this also means Selenium runs inside the JavaScript sandbox. This means you need to run the Selenium-RC server to get around the same-origin policy, which can sometimes cause issues with browser setup.

WebDriver on the other hand uses native automation from each language. While this means it takes longer to support new browsers/languages, it does offer a much closer 'feel' to the browser. If you're happy with WebDriver, stick with it, it's the future. There are limitations and bugs right now, but if they're not stopping you, go for it.

Selenium Benefits over WebDriver

  • Supports many browsers and many languages, WebDriver needs native implementations for each new languagte/browser combo.
  • Very mature and complete API
  • Currently (Sept 2010) supports JavaScript alerts and confirms better

Benefits of WebDriver Compared to Selenium

  • Native automation faster and a little less prone to error and browser configuration
  • Does not Requires Selenium-RC Server to be running
  • Access to headlessHTMLUnit can allow really fast tests
  • Great API
pnewhook
Are they merging since 2.0? I downloaded selenium-java-2.0a4.jar. It has org.thoughtworks.selenium.Selenium for Selenium and org.openqa.selenium.WebDriver for WebDriver. Now I am using WebDriver most of the time. But once a while I want to use selenium just to click JS alerts and confirms. Is this possible? I mean is it possible to extract some sort of Selenium object from a WebDriver object?
zihaoyu
Correct, they're merging as of 2.0.Take a look at the Selenium Docs to see how to use Selenium from WebDriver http://seleniumhq.org/docs/09_webdriver.html#emulating-selenium-rc
pnewhook