为什么我们在Selenium Webdriver中不需要服务器?

时间:2017-03-02 18:18:08

标签: selenium-webdriver selenium-rc

  1. Selenium RC 需要启动服务器以启动Selenium Automated RC测试套件的执行。
  2. Selenium服务器是浏览器和Selenium RC之间的中介,因为 Selenium RC 不会直接调用浏览器。
  3. 因此我们必须在开始运行Selenium RC测试用例之前启动Selenium服务器。
  4. 如果是 Selenium Web Driver ,则无需启动Selenium Server来执行测试脚本。
  5. Selenium网络驱动程序在浏览器和浏览器之间进行通话自动化脚本。

1 个答案:

答案 0 :(得分:2)

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

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