我想将 JSTestDriver 与 jenkins-CI 集成。问题是构建服务器没有显示。有没有办法无头运行浏览器?
谢谢
我想将 JSTestDriver 与 jenkins-CI 集成。问题是构建服务器没有显示。有没有办法无头运行浏览器?
谢谢
如前所述,如果您的服务器是 Linux,则无法运行 IE。但是您可以运行其他浏览器,例如 Firefox。诀窍是在你的 Jenkins 服务器上安装 XVFB,它允许 Firefox 无头运行。我已经使用了这个设置并且效果很好。
http://www.alittlemadness.com/2008/03/05/running-selenium-headless/
Firefox,从 Linux 上的 55 版和 Windows 和 macOS 上的 56 版开始,现在有一个内置的无头模式。
目前(2017 年 9 月)我正在使用基于 GNU/Linux 的发行版和 Firefox 55,并且像这样的控制台命令可以正常工作:firefox --headless http://www.wikipedia.org
,这不是很有用,但它可以工作,因为我看到相应的操作系统Firefox 的进程继续运行。
此功能将随着时间的推移逐渐改进,因此建议阅读官方开发人员文档,特别是对于那些对自动化测试和持续集成计划感兴趣的人。
Google Chrome 现在(Mac 和 Linux 的 Chrome 59,Windows的 Chrome 60 )内置了无头模式。它可以跨平台工作,并且不需要任何显示设备、虚拟机或类似的东西。您可以在此处找到Eric Bidelman 撰写的精彩入门文章,但这里是最关键的点:
您必须使用标志启动 Chrome 二进制文件(在 macOS 上它位于目录中的Google Chrome.app
包内)。目前还需要加flag,因为GPU加速在headless模式下不能正常工作。Contents/MacOS
--headless
--disable-gpu
chrome --headless --disable-gpu [url/path/flags...]
与标准的非无头 Chrome 一样,如果--remote-debugging-port=[SOME_PORT]
标志启用,您的测试运行程序可以使用开发工具接口与 Chrome 通信。但是,如果您只想自己快速测试它,您可以使用--screenshot
或--dump-dom
标志在加载后检查页面内容。
chrome --headless --disable-gpu --dump-dom https://stackoverflow.com/