Protractor/Selenium: 运行 浏览器在后台

Protractor/Selenium: run browser in the background

我正在使用量角器进行测试。 99% 的时间不需要实际查看浏览器,测试需要很长时间,而我们感兴趣的只是最终结果。 有没有办法隐藏为测试而打开的浏览器(例如 运行 在后台)?

据我了解,您无法真正可靠地控制通过 protractor/webdriverjs/selenium 打开浏览器 windows 的方式。

解决该问题的常用方法是使用虚拟显示,请参阅:

  • Can Selenium Webdriver open browser windows silently in background?

另一种方法是在 docker-selenium 容器内进行 运行 测试,这里有一个非常详细的介绍:

  • protractor with any headless browser?

或者,正如 here 所指出的,如果你在 Mac OS X 上,你可以 运行 在同一台机器上但在不同用户下进行 selenium 测试这不会干扰您当前的显示。

您还可以 运行 在无头 firefox 的 docker 容器中进行量角器测试:


另一种选择是使用远程 selenium 服务器,例如,BrowserStack or Sauce Labs 服务提供。

如前所述,docker-selenium 创造奇迹。 docker-selenium 唯一不支持的浏览器是 Internet Explorer,原因很明显。

为此,您可以尝试像 PhantomJS 这样的无头浏览器。 PhantomJS 在后台运行,可以使用屏幕截图捕获故障。 参考以下 link 以了解更多关于 phantomjs 的信息: Protractor running tests on PhantomJS