查看量角器文档,我发现有一个选项可以不使用Selenium服务器使用directConnect: trueflag 来运行量角器。
directConnect: true
使用selenium服务器和不使用selenium服务器运行量角器测试有什么区别,除了后者仅支持Chrome和Firefox之外?
首先,目前,您有 5种不同的内置选项/方式来连接浏览器驱动程序 :
seleniumServerJar
seleniumAddress
sauceUser
sauceKey
browserstackUser
browserstackKey
directConnect
chromeDriver
firefoxPath
前四个选项基本上是通过“代理服务器”(硒服务器)工作的:
该服务器充当您的测试脚本(使用WebDriver API编写)和浏览器驱动程序(由WebDriver协议控制)之间的代理。服务器将命令从脚本转发到驱动程序,并将响应从驱动程序返回到脚本。
通过中间硒服务器实现浏览器自动化而不是直接进行Webdriver连接的主要原因是,硒服务器如果充当Selenium Grid,则可以跨多个浏览器,多个系统上的多个浏览器扩展/扩展测试,请参见例如Sauce Labs硒网格。仅供参考,除了Sauce Labs之外,还有一项BrowserStack服务,它充当硒服务器,具有大量不同功能/配置- 浏览器和系统,作为硒服务器。
BrowserStack
启动Selenium服务器(谈论选项2)而不使用的另一个用例directConnect是,您可能具有要运行测试的特定配置。假设您有一台装有IE 11的Windows计算机,以及一台装有Firefox 35的Ubuntu。在这种情况下,您可以将这些计算机配置为将连接到selenium服务器/集线器的 selenium节点。
如果您在本地运行测试,并且目标浏览器是Chrome或/和Firefox,请使用directConnect,测试运行速度会更快。
但是,如果您正在本地运行测试,并且需要针对IE,Safari或其他浏览器进行测试,则将使用选项1-4(通常为1),因为这些浏览器无法在“直接连接”模式下工作。