Selenium RC和WebDriver之间有什么关系?

33

我看到自Selenium 2.0以来,WebDriver和Selenium RC被一起打包下载。现在我主要使用WebDriver,但是我能否从现在开始偶尔在我的测试脚本中引入Selenium RC? Selenium RC有什么能力是WebDriver没有的,反之亦然?


这个问题又被问到了,并得到了另一个值得一读的好回答 - Peter M. - stands for Monica
3个回答

38

你可能需要从这里开始你的研究(虽然你可能已经看过了):http://seleniumhq.org/docs/03_webdriver.html

我会假设你是在比较 Selenium-RC 和 WebDriver,而 Selenium-IDE 真的不在同一个级别。

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

另一方面,WebDriver 使用每种语言的本地自动化。虽然这意味着支持新的浏览器/语言需要更长时间,但确实提供了更接近浏览器的“感觉”。如果你喜欢 WebDriver,请坚持使用它,它是未来的趋势。目前存在限制和错误,但如果它们没有阻止你,就使用它吧。

Selenium 相对于 WebDriver 的优势

  • 支持许多浏览器和许多语言,WebDriver 需要为每个新语言/浏览器组合提供本地实现。
  • 非常成熟和完整的 API
  • 目前(2010 年9月)对 JavaScript 警报和确认的支持更好

WebDriver 相对于 Selenium 的优势

  • 本地自动化速度更快,稍微不太容易出错并需要浏览器配置
  • 不需要运行 Selenium-RC 服务器
  • 访问无头 HTMLUnit 可以使测试运行得非常快
  • 很棒的 API

2
URL有误,请更正。上面的链接已经过期,正确的链接是:http://www.seleniumwiki.com/software-testing/selenium-rc-vs-webdriver/。 - Screamer
3
请注明出处:http://www.seleniumwiki.com/software-testing/selenium-rc-vs-webdriver/Selenium RC与WebDriver的比较 - Nix
Selenium 远程控制已经被弃用。 - ubershmekel
@Nix,你会注意到维基(这是一个私人网站,而不是官方文档)在此条目之后发布的。 - pnewhook
简单来说,WebDriver(Selenium 2)是Selenium RC的后继者。 - Ripon Al Wasim
显示剩余2条评论

17
我看到这是一个旧问题,但在Selenium HQ主页上找到了以下内容:

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

所以问题解决了 :-)

2
最大的区别在于RC是从一个vs运行,2.0使用Webdriver并启动浏览器,而不是使用vs。要在2.0中使用RC,请查看此处:http://seleniumhq.org/docs/09_webdriver.html#emulating-selenium-rc 我不知道如何将2.0转换为RC,但你能在哪里看到它们一起打包?它们是两个不同的产品。Selenium2是webdriver,而Selenium RC是Selenium1。
个人认为,使用2.0编程要容易得多。而且到年底JavaScript alert支持应该会实现,这是一个巨大的优势!

我的意思是它们被打包在.zip文件中供下载。当然,有两个不同的包(org.thoughtwork.selenium.Selenium和org.openqa.selenium.WebDriver)。很遗憾现在不支持JS警报,这与我的另一个问题有关(https://dev59.com/PlDTa4cB1Zd3GeqPGyui)。 - zihaoyu
链接已失效。 - Dan Dascalescu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接