【问题标题】:Why we don't need server in Selenium Webdriver?为什么我们在 Selenium Webdriver 中不需要服务器?
【发布时间】:2017-03-02 18:18:08
【问题描述】:
  1. Selenium RC 需要启动服务器才能执行 Selenium 自动 RC 测试套件。
  2. Selenium 服务器是浏览器和 Selenium RC 之间的中介,因为 Selenium RC 不会直接调用浏览器。
  3. 所以我们必须在开始运行 Selenium RC 测试用例之前启动 Selenium 服务器。
  4. 如果是 Selenium Web Driver,则不需要启动 Selenium Server 来执行测试脚本。
  5. Selenium Web Driver 在浏览器和自动化脚本之间进行调用。

【问题讨论】:

标签: selenium-webdriver selenium-rc


【解决方案1】:

Selenium 服务器是浏览器和 Selenium RC 之间的中介,因为这个 RC 不会直接调用浏览器。所以我们必须提前启动 Selenium 服务器,才能开始运行 Selenium RC 测试用例。当您开始测试时,Selenium RC Server 将一个名为 Selenium Core 的 Javascript 程序“注入”到浏览器中。注入后,Selenium Core 将开始接收 RC 服务器从您的测试程序转发的指令。

如果是 Selenium webdriver,它不需要启动服务器来执行检查脚本。无论代码中发出的命令都将被解释为 Web 服务方法(JSON 有线协议),远程驱动程序将接收 HTTP 请求(命令)并在浏览器中执行它们,然后将响应发回。为了提供更多信息,假设您已经使用 java(绑定代码)针对 Selenium API 编写了测试,并且绑定代码将通过 WebDriver 有线协议发出命令,这是一个基于 REST 的 Web 服务,能够解释这些命令。驱动程序服务器只是一个运行每个驱动程序的小可执行文件,该驱动程序服务器基本上在您运行测试时侦听本地计算机上的端口并等待这些命令进入。当这些命令进入时它解释这些命令,然后自动化浏览器,然后返回这些结果。

【讨论】:

  • 为什么我们使用 java 脚本程序,而不是任何脚本。
  • 我可能不是判断这一点的合适人选。但如果你问我,我觉得 JavaScript 是浏览器内部与 HTML dom 交互的首选语言。这意味着浏览器中包含 JavaScript 实现并理解 JavaScript 命令。因此可能使用了 Java Script。
  • 我希望这会有所帮助!
猜你喜欢
  • 2020-04-25
  • 2020-06-25
  • 2018-03-08
  • 1970-01-01
  • 1970-01-01
  • 2010-11-24
  • 1970-01-01
  • 2017-05-16
  • 2012-02-22
相关资源
最近更新 更多