1

Selenium Webdriver - For interacting directly with browser

Selenium RC - Interacts with browser through a Server

If i need to test remotely using Web-driver, i need to use Selenium Server

  1. So when we say Selenium Server in third point, does it mean then the same server used by Selenium RC?

  2. Is selenium server already included with selenium RC? If need to do automation using selenium RC, do i need to download Selenium Server separately?

4

1 回答 1

2

Selenium Remote Control (RC) 和 Selenium WebDriver 都是支持不同编程语言的测试自动化工具,但有一些关键的区别。


硒 RC

直到几年前,Selenium RC还是Selenium测试套件中的一个重要组件。正是这个测试框架使 QA 或开发人员能够用任何编程语言编写测试用例,以便针对任何 HTTP 网站自动执行 Web 应用程序的 UI 测试。Selenium RC 由两部分组成:

  • 首选语言绑定艺术的客户端库。
  • 自动启动和销毁 Web 浏览器的服务器。

硒RC

Selenium RC 的架构有点复杂:

  • 开发人员/QA 人员需要在运行测试脚本之前安装和启动一个名为 Selenium Remote Control Server 的单独应用程序。
  • Selenium RC 服务器充当浏览器和 Selenium 命令之间的中介。

执行顺序是:

  • Selenium RC 服务器将名为 Selenium Core 的 Javascript 程序注入浏览器客户端。
  • 注入 Selenium Core 程序后,它开始根据测试脚本从 RC 服务器接收指令。Selenium Core 将所有这些指令作为 JavaScript 命令执行。
  • Web 浏览器执行 Selenium Core 给出的所有命令,并将测试摘要返回给 Selenium RC 服务器。

但有以下限制:

  • Selenium RC Server 的架构相当复杂。
  • 执行测试脚本非常耗时,因为 Selenium RC 使用 JavaScript 命令作为对浏览器的指令,导致性能下降。
  • API 的面向对象较少。
  • 不支持无头浏览器。

Selenium RC Server 的所有这些限制导致了新的强大自动化框架Selenium WebDriver的开发。


网络驱动程序

从 Selenium 的角度来看,WebDriver 接口类似于 Mozilla、Chrome、Internet Explorer、Safari 等第三方浏览器供应商必须遵守和实施的协议。这将反过来帮助最终用户使用公开的 API 编写通用代码并在所有可用浏览器中实现功能而无需任何更改。


这个用例

要执行您的测试用例:

  • 本地:Selenium Client (jars) 是一堆 API,足以满足您的需要。
  • 在远程机器(Selenium Grid)上:Selenium Server 将解决您的目的。

您可以在 Selenium Standalone Server 和 Java selenium Jar 文件之间的区别中找到相关讨论

于 2019-12-12T22:42:12.037 回答