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