Selenium RC
和之间的基本区别是WebDriver
什么?
5 回答
Selenium-WebDriver 使用每个浏览器对自动化的原生支持直接调用浏览器。这些直接调用的方式以及它们支持的功能取决于您使用的浏览器。本章稍后将提供有关每个“浏览器驱动程序”的信息。
对于熟悉 Selenium-RC 的人来说,这与您习惯的完全不同。Selenium-RC 对于每个支持的浏览器都以相同的方式工作。它在浏览器加载时将 javascript 函数“注入”到浏览器中,然后使用其 javascript 在浏览器中驱动 AUT。WebDriver 不使用这种技术。同样,它使用浏览器内置的自动化支持直接驱动浏览器。
您可能需要也可能不需要 Selenium 服务器,具体取决于您打算如何使用 Selenium-WebDriver。如果您只使用 WebDriver API,则不需要 Selenium-Server。如果您的浏览器和测试都将在同一台机器上运行,并且您的测试只使用 WebDriver API,那么您不需要运行 Selenium-Server;WebDriver 将直接运行浏览器。
将 Selenium-Server 与 Selenium-WebDriver 一起使用是有一些原因的。
- 您正在使用 Selenium-Grid 将测试分布在多台机器或虚拟机 (VM) 上。
- 您想要连接到具有特定浏览器版本的远程计算机,该版本不在您当前的计算机上。
- 您没有使用 Java 绑定(即 Python、C# 或 Ruby)并希望使用 HtmlUnit 驱动程序。
Selenium RC在加载网页时将 javascript 函数注入浏览器。
Selenium WebDriver使用浏览器的内置支持来驱动浏览器。
想在上面的答案中添加一点,
由于 selenium RC 将 java 脚本代码注入浏览器,浏览器的行为方式几乎相似。
但是对于 WebDriver,调用是直接使用特定浏览器的本机支持进行的,浏览器的行为更像是在用户交互的情况下
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
在这里,我正在讨论 Web 驱动程序功能,这些是 RC 中的缺点:
- 无需启动服务器即可运行程序
- Web 驱动程序默认最大化窗口或浏览器
- 隐藏命令历史窗口
- Web 驱动程序默认保持页面加载同步。如果是页面刷新我们必须使用thread.sleep()来维护;
- 我们可以借助“WebDriverBackedSelenium”在一个类下开发 RC 脚本和 Web 驱动程序脚本。
- 我们可以使用高级 Web 驱动程序概念从应用程序中获取信息。
- Web Driver 比 Selenium RC 更快,因为它的架构更简单。
- Web Driver 直接与浏览器对话,而 Selenium RC 需要 RC Server 的帮助才能做到这一点。
- Web Driver 的 API 比 Selenium RC 的更简洁。
- Web Driver 可以支持 Html Unit 而 Selenium RC 不能。