一尘不染

带/不带selenium的量角器的运行差异?

selenium

查看量角器文档,我发现有一个选项可以不使用Selenium服务器使用directConnect: trueflag 来运行量角器。

使用selenium服务器和不使用selenium服务器运行量角器测试有什么区别,除了后者仅支持Chrome和Firefox之外?


阅读 281

收藏
2020-06-26

共1个答案

一尘不染

首先,目前,您有
5种不同的内置选项/方式来连接浏览器驱动程序

  1. 指定seleniumServerJar在本地启动Selenium独立服务器
  2. 指定seleniumAddress连接到正在运行的硒服务器(本地或远程)
  3. 设置sauceUsersauceKey连接到Sauce Labs远程硒服务器
  4. 设置browserstackUserbrowserstackKey通过BrowserStack使用远程Selenium服务器
  5. 用于directConnect直接连接到Chrome或Firefox。还有其他chromeDriverfirefoxPath设置,您可以用它来定义自定义浏览器驱动器和Firefox浏览器的应用程序二进制文件的位置。

前四个选项基本上是通过“代理服务器”(硒服务器)工作的:

该服务器充当您的测试脚本(使用WebDriver
API编写)和浏览器驱动程序(由WebDriver协议控制)之间的代理。服务器将命令从脚本转发到驱动程序,并将响应从驱动程序返回到脚本。

通过中间硒服务器实现浏览器自动化而不是直接进行Webdriver连接的主要原因是,硒服务器如果充当Selenium
Grid
,则可以跨多个浏览器,多个系统上的多个浏览器扩展/扩展测试,请参见例如Sauce
Labs硒网格
。仅供参考,除了Sauce
Labs之外,还有一项BrowserStack服务,它充当硒服务器,具有大量不同功能/配置-
浏览器和系统,作为硒服务器。

启动Selenium服务器(谈论选项2)而不使用的另一个用例directConnect是,您可能具有要运行测试的特定配置。假设您有一台装有IE
11的Windows计算机,以及一台装有Firefox
35的Ubuntu。在这种情况下,您可以将这些计算机配置为将连接到selenium服务器/集线器的 selenium节点。

如果您在本地运行测试,并且目标浏览器是Chrome或/和Firefox,请使用directConnect,测试运行速度会更快。

但是,如果您正在本地运行测试,并且需要针对IE,Safari或其他浏览器进行测试,则将使用选项1-4(通常为1),因为这些浏览器无法在“直接连接”模式下工作。

2020-06-26