运行 带量角器的无头浏览器是什么?

What is a good headless browser to run with protractor?

这里是新用户。

在构建我的冒烟和回归测试数小时后,我在网上阅读了许多案例后发现,众所周知,phantomjs 对 运行 使用量角器来说是个麻烦。到目前为止,Jenkins 已经 运行ning phantomjs 完成了所有任务。

他们需要这些测试 运行 作为未安装窗口系统的 ci 的一部分。

因此,如果有人推荐完全无头浏览器或无头浏览器 chrome(那将是最有益的cial)并且一步步骤来设置它。我已经有一个 conf.js 和一个 e2e.conf.js 文件。我的代码与 chrome.

完美配合

我相信我在使用 iMac 和 selenium webdriver。

编辑:问题 = 量角器不适用于 phantomjs。 我所做的=使用不同的网络元素并用谷歌搜索是否有人遇到过类似情况。还搜索了适用于量角器的无头浏览器,无法找到合适的解决方案。

我会继续在正常的浏览器中进行测试,但会使用 远程 selenium 服务器 作为服务 - Sauce Labs or BrowserStack,请参阅:

您最好的选择是继续 Chrome。通过一些工作,您可以通过 CI 以无头方式让它工作 - 我们使用 Jenkins 和 Docker Ubuntu 无头服务器来实现。

您需要使用 XVFB 将 Chrome 配置为 运行 headless。您可以按照这里的要点开始 https://gist.github.com/addyosmani/5336747

你说你在 Mac 上,所以你可以 运行 通过 Docker 在你的机器上进行无头测试,或者你可以为 [=22] 设置第二个配置=] 测试。

另一个资源http://tobyho.com/2015/01/09/headless-browser-testing-xvfb/

您可以 运行 针对 CodeShip or Drone.io, both of which 的 Protractor 测试提供 Chrome and/or Firefox 运行ning 免费。真的没有...

如果有人到达此处 - 答案已过时。 Chromium(下一个版本)现在支持无头模式。无需努力工作。

您可以在此处阅读更多内容:

https://developers.google.com/web/updates/2017/04/headless-chrome

这里是命令行的例子

chrome \
 --headless \                   # Runs Chrome in headless mode.
 --disable-gpu \                # Temporarily needed for now.
 --remote-debugging-port=9222 \
 https://www.chromestatus.com   # URL to open. Defaults to about:blank.

而且您可以简单地触发具有 chrome 功能的量角器:

Activating chrome language flags when activating from protractor (selenium)

这是我使用的配置

 capabilities: {
    'browserName': browserName,
    chromeOptions: {
      binary: '/Users/guymograbi/Downloads/chrome-mac/Chromium.app/Contents/MacOS/Chromium',
      args: ['--headless','--disable-gpu']
    }
  },

更新 - chrome 的新版本不需要 binary 属性

在我的环境中,我发现我可以删除 binary 属性,因为 chrome 的新版本在稳定分支

上可用

我的量角器配置是

capabilities: {
    'browserName': 'chrome',
    chromeOptions: {
      args: [ '--headless', '--disable-gpu', '--no-sandbox', '--window-size=1920x1200' ]
    },

  },

它现在可以顺利运行数周了。强烈推荐。

更新 - 如何在业力中做到这一点非常简单

在 karma 中使用 headless chrome 非常简单:

 browsers: 'ChromeHeadless'

它应该与 chrome 加载器和所有东西一起工作。 more info

如果您已安装 Chrome 59+,请使用以下标志启动 Chrome:

--headless

如果您需要更多帮助,请告诉我,我会为您编写配置:)享受