2010-09-01 66 views
32

我可以看到,自从selenium 2.0以来,WebDriver和Selenium RC一起打包下载。现在我主要使用WebDriver,但是我现在可以在我的测试脚本中引入Selenium RC了吗? Selenium RC有什么能力,但WebDriver没有,反之亦然?Selenium RC和WebDriver有什么关系?

+0

这个问题再次被提出,并得到了另一个[好答案](http://stackoverflow.com/questions/11535950/difference-between-selenium-rc-and -webdriver)值得一读。 – 2015-12-09 15:19:42

回答

37

你或许应该从这里开始你的研究(虽然你可能已经走了过来这一点):http://seleniumhq.org/docs/03_webdriver.html

我会假设你对比硒RC到webdriver的,硒-IDE真的不是在相同的球场。

Selenium使用JavaScript来自动化网页。这使得它与Web内容的交互非常紧密,并且是第一个支持Ajax和其他动态页面的自动化工具之一。但是,这也意味着Selenium在JavaScript沙箱中运行。这意味着您需要运行Selenium-RC服务器来绕过同源策略,这有时会导致浏览器设置出现问题。

另一方面,WebDriver使用来自每种语言的本地自动化。虽然这意味着支持新的浏览器/语言需要更长的时间,但它确实提供了更接近浏览器的“感觉”。如果你对WebDriver感到满意,坚持下去,这是未来。现在有一些限制和错误,但如果他们没有阻止你,就去做吧。在webdriver的

  • 硒优势支持多种浏览器和多国语言,需要的webdriver本机实现对每个新的语言/浏览器组合。

  • 非常成熟和完整的API
  • 目前(2010年9月),支持JavaScript警告并确认相对于硒

    • 本土自动化更快一点不容易的webdriver更好

    优势错误和浏览器配置

  • 不需要Selenium-RC服务器运行
  • 访问无头的HtmlUnit可以让测试运行速度非常快
  • 大API
+0

从2.0开始合并?我下载了selenium-java-2.0a4.jar。它具有org.thoughtworks.selenium.Selenium for Selenium和org.openqa.selenium.WebDriver for WebDriver。现在我大部分时间都在使用WebDriver。但是有一段时间我想用硒来点击JS警报并确认。这可能吗?我的意思是有可能从WebDriver对象中提取某种Selenium对象? – zihaoyu 2010-09-02 15:17:36

+0

正确,它们从2.0开始合并。 查看Selenium文档,了解如何使用WebDriver中的Selenium http://seleniumhq.org/docs/09_webdriver.html#emulating-selenium-rc – pnewhook 2010-09-02 17:27:24

+2

更正URL。上面的那个已经过时了。现在是:http://www.seleniumwiki.com/software-testing/selenium-rc-vs-webdriver/ – Screamer 2011-10-17 15:38:18

1

最大的区别是RC从VS运行,2.0使用的webdriver和启动浏览器,而不是2.0使用与为了您RC,点击这里:http://seleniumhq.org/docs/09_webdriver.html#emulating-selenium-rc

我不知道如何采取2.0虽然进入了RC,但你是否看到它们被包装在一起?他们是两种不同的产品。 Selenium 2是webdriver,Selenium RC是Selenium 1.

就我个人而言,我发现2.0很容易编程。另外在今年年底前应该实施JavaScript警报支持,这是一个巨大的优势!

+0

我的意思是他们打包在一个.zip下载。当然有两个不同的包(org.thoughtwork.selenium.Selenium和org.openqa.selenium.WebDriver)。很遗憾听到JS警报现在不被支持,这与我的另一个问题有关(http://stackoverflow.com/questions/3613584/webdriver-dismiss-a-alert-box)。 – zihaoyu 2010-09-01 16:08:57

+0

链接现已停止。 – 2015-08-05 23:36:52

16

我看到这是一个老问题,但发现这是Selenium HQ主页上:

硒WebDriver是Selenium Remote Control的继任者,其 已被正式弃用。 Selenium服务器(由 WebDriver和远程控制使用)现在还包括内置的网格 功能。

因此它解决:-)