量角器 - 硒地址和直接连接有什么区别



我不清楚使用以下方法运行量角器测试有什么区别:

directConnect: true/false,
seleniumAddress: 'http://localhost:4444/wd/hub',

还有,为什么会这样呢?我用什么来运行我的测试?

我没有在我的配置文件中声明上述任何选项,并且我正在运行所有测试。

这是我运行测试时的输出:

[16:26:42] I/launcher - Running 1 instances of WebDriver
[16:26:42] I/local - Starting selenium standalone server...
[16:26:46] I/local - Selenium standalone server started at http://193.167.1.94:57674/wd/hub

I/本地意味着我在本地运行?直接连接是默认选项吗?

我看到我/托管在某个堆栈溢出帖子中。这意味着他们正在使用外部网格?

硒地址

你可以给硒服务器或硒网格网址seleniumAddress

您可以在同一台或不同的机器上启动硒服务器或网格,其中测试的内容

脚本驻留

1.1( 本地硒服务器

. Selenium server run on same machine where test scripts reside
. When running test, browser opened on the machine where selenium server running
. Communicate Path:  ( in same machine where test script reside)
test script -> selenium server -> webdriver binary -> browser

1.2( 远程硒服务器

. Selenium server run on remote machine where test scripts **NOT** reside
. When running test, browser opened on the remote machine where selenium server running  
. Communicate Path: ( cross two machines )
test script -> test script machine 
-> selenium server  (on remote machine)
-> webdriver binary (on remote machine)
-> browser          (on remote machine)

1.3( 硒网格

. Grid use Master/Slave 
. Multiple Slave machines register to One Master machine
. Each Slave can install couple kinds of browsers
. Slave tell Master it can provide the kinds of browser and 
max browser instances running in parallel when register to Master
. Master will determine each test open browser on which Slave 
by test required browser type and not exceed the max browser instances on slave
. Communicate Path: ( cross three machines )
test script -> test script machine 
-> master machine
-> selenium server  (on choosen slave machine)
-> webdriver binary (on choosen slave machine)
-> browser          (on choosen slave machine)

直接连接

. When directConnect: true, seleniumAddress will be ignored (if both configured)
. Only chrome and firefox support directConnect so far
. Communicate Path: ( in same machine where test script reside) 
test script -> webdriver binary -> browser

使用 seleniumAddress,您可以在启动 selenium服务器/网格的终止窗口中看到测试脚本与 webdriver 通信的日志。

从日志中,您可以获得如下信息:

  • 测试脚本使用哪个定位器来查找元素
  • 查找/操作元素完成或失败的步骤
  • 当测试用例失败时,它在传达哪个元素时失败。

这些信息对于调试测试脚本非常有用

默认情况下,使用 directConnect量角器不会在单独的终止窗口中启动 Web 驱动程序二进制文件,也不会将通信日志定向到文件中。

所以它不适合调试测试脚本。

seleniumAddress是运行Selenium服务器的位置。如果未指定,则在执行框架时将创建一个新的 selenium 服务器实例(通常在默认的 selenium 端口 4444 上(。

directConnect不同,它允许您直接向浏览器驱动程序发送命令,完全跳过 seleniumServer。根据下面链接的conf,它的定义是:

如果为 true,量角器将直接连接到浏览器驱动程序 在 chromeDriver 和 FirefoxPath 指定的位置。只有铬 和火狐支持直接连接。

这是指向示例 conf.ts 文件的链接,其中包含默认设置中列出的所有选项和说明。我觉得这是一个非常有用的参考。

另请参阅此相关的先前线程以获取更多信息。

最新更新