Selenium RC和WebDriver的区别

37

Selenium RCWebDriver 的基本区别是什么?


5个回答

54

引用自WebDriver和Selenium RC:

Selenium-WebDriver使用浏览器本身原生的自动化支持直接调用浏览器。这些直接调用的方式以及它们所支持的特性取决于您使用的浏览器。每个“浏览器驱动程序”的相关信息将在本章后面提供。

对于熟悉Selenium-RC的人来说,这与您习惯的方式非常不同。Selenium-RC对于每个受支持的浏览器都是以相同的方式工作的。当浏览器加载时,它会“注入”javascript函数进入浏览器,然后使用它的javascript驱动浏览器内的AUT。WebDriver不使用这种技术。再次强调,它使用浏览器内置的自动化支持直接驱动浏览器。

根据您对Selenium-WebDriver的使用方式,您可能需要或不需要Selenium服务器。如果您仅使用WebDriver API,则不需要Selenium服务器。如果您的浏览器和测试都在同一台机器上运行,并且您的测试仅使用WebDriver API,则无需运行Selenium服务器;WebDriver将直接运行浏览器。

然而,使用Selenium-WebDriver和Selenium-Server也有一些原因。

  • 您正在使用Selenium-Grid将测试分布在多台机器或虚拟机上。
  • 您想要连接到具有特定浏览器版本的远程机器,该版本不在您当前的机器上。
  • 您没有使用Java绑定(例如Python、C#或Ruby),并且希望使用HtmlUnit驱动程序。

1
是的,上面的网址很有帮助。 - Muna
2
Selenium WebDriver 是 Selenium RC 的继承者。 - Ripon Al Wasim
当你说Selenium服务器时,是指Selenium RC吗? - anandhu

20

Selenium RC 在网页加载时向浏览器注入 JavaScript 函数。

Selenium WebDriver 使用浏览器内置支持来驱动浏览器。


2
那这是什么意思? - OK999

0

想要在上面的答案中添加一点内容,

由于Selenium RC将Java脚本代码注入浏览器中,因此浏览器的行为几乎相似。

但是对于WebDriver,调用是直接使用特定浏览器的本地支持,浏览器的行为更像用户交互。


-1

WebDriver是一种工具,可使用不同的编程语言在不同的浏览器上测试Web应用程序。 现在,您可以制作强大的测试,因为WebDriver允许您在设计测试时使用自己选择的编程语言。 由于其简单的架构,WebDriver比Selenium RC更快。 WebDriver直接与浏览器通信,而Selenium RC需要RC服务器的帮助才能这样做。 WebDriver的API比Selenium RC更简洁。 WebDriver可以支持HtmlUnit,而Selenium RC则不能。 WebDriver唯一的缺点是: 它无法立即支持新的浏览器,但Selenium RC可以。 它没有内置命令来自动生成测试结果。

http://www.guru99.com/introduction-webdriver-comparison-selenium-rc.html


-2

在这里我正在讨论Web Driver的特点,这些是RC的缺点:

  1. 不需要启动服务器来运行程序
  2. Web Driver默认最大化窗口或浏览器
  3. 隐藏命令历史窗口
  4. Web Driver默认维护页面加载同步。如果是页面刷新,我们必须使用thread.sleep()进行维护。
  5. 我们可以使用“WebDriverBackedSelenium”帮助在单个类下开发RC脚本和Web Driver脚本。
  6. 我们可以使用高级Web Driver概念从应用程序中获取信息。
  7. 由于其更简单的架构,Web Driver比Selenium RC更快。
  8. Web Driver直接与浏览器通信,而Selenium RC需要RC服务器的帮助才能这样做。
  9. Web Driver的API比Selenium RC更简洁。
  10. Web Driver可以支持Html Unit,而Selenium RC则不行。

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