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

tos*_*osh 16 javascript selenium headless-browser jenkins protractor

新用户在这里.

经过几个小时的建立我的烟雾和回归测试后,我在网上阅读了许多案例后发现,已知phantomjs与量角器一起运行会遇到麻烦.詹金斯一直在为它迄今为止所做的所有任务运行幻影.

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

所以如果有完全无头浏览器或无头镀铬(这将是最有益的)以及逐步设置它的推荐,我将不胜感激.我已经有一个conf.js和一个e2e.conf.js文件.我的代码与chrome完美搭配.

我相信,我正在使用iMac和selenium webdriver.

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

guy*_*abi 13

如果有人到达这里 - 答案已经过时了.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.
Run Code Online (Sandbox Code Playgroud)

您只需触发具有chrome功能的量角器:

从量角器(硒)激活时激活铬语言标志

这是我正在使用的配置

 capabilities: {
    'browserName': browserName,
    chromeOptions: {
      binary: '/Users/guymograbi/Downloads/chrome-mac/Chromium.app/Contents/MacOS/Chromium',
      args: ['--headless','--disable-gpu']
    }
  },
Run Code Online (Sandbox Code Playgroud)

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

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

我的量角器配置是

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

  },
Run Code Online (Sandbox Code Playgroud)

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

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

在业力中使用无头铬是非常容易的:

 browsers: 'ChromeHeadless'
Run Code Online (Sandbox Code Playgroud)

它应该与铬装载机和一切工作.更多信息


Ast*_*sta 9

您最好的选择是继续使用Chrome.通过一些工作,您可以通过CI和无头方式使其工作 - 我们使用无头的Jenkins和Docker Ubuntu服务器来完成这项工作.

您需要将Chrome配置为使用XVFB无头运行.你可以点击这里的要点开始https://gist.github.com/addyosmani/5336747

您声明自己在Mac上,因此您可以通过计算机上的Docker运行无头测试,也可以为CI测试设置第二个配置.

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

  • 我已经创建了一个Docker镜像https://hub.docker.com/r/webnicer/protractor-headless/,它可以消除所有的设置麻烦并且也可以使用xvfb.我希望它会有用.理由在我的博客文章中有描述:http://float-middle.com/protractor-and-headless-chrome-on-docker-with-video-tutorial/ (2认同)