查看量角器文档,我发现有一个选项可以不使用Selenium服务器使用directConnect: true
flag 来运行量角器。
使用selenium服务器和不使用selenium服务器运行量角器测试有什么区别,除了后者仅支持Chrome和Firefox之外?
首先,目前,您有
5种不同的内置选项/方式来连接浏览器驱动程序
:
seleniumServerJar
在本地启动Selenium独立服务器seleniumAddress
连接到正在运行的硒服务器(本地或远程)sauceUser
并sauceKey
连接到Sauce Labs远程硒服务器browserstackUser
并browserstackKey
通过BrowserStack使用远程Selenium服务器directConnect
直接连接到Chrome或Firefox。还有其他chromeDriver
和firefoxPath
设置,您可以用它来定义自定义浏览器驱动器和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),因为这些浏览器无法在“直接连接”模式下工作。