繁体   English   中英

Selenium Server 和 Selenium RC 有什么区别?

[英]What is the difference between Selenium Server and Selenium RC?

Selenium Webdriver - 用于直接与浏览器交互

Selenium RC - 通过服务器与浏览器交互

如果我需要使用 Web 驱动程序进行远程测试,我需要使用 Selenium Server

  1. 那么当我们在第三点说到 Selenium Server 时,它是否意味着 Selenium RC 使用的是同一个服务器?

  2. selenium RC 是否已经包含 selenium 服务器? 如果需要使用 selenium RC 进行自动化,我需要单独下载 Selenium Server 吗?

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


硒钢筋混凝土

直到几年前, 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 可以解决您的问题。

您可以在What is difference between Selenium Standalone Server and Java selenium Jar files中找到相关讨论

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM