9

我想将 JSTestDriver 与 jenkins-CI 集成。问题是构建服务器没有显示。有没有办法无头运行浏览器?

谢谢

4

3 回答 3

7

如前所述,如果您的服务器是 Linux,则无法运行 IE。但是您可以运行其他浏览器,例如 Firefox。诀窍是在你的 Jenkins 服务器上安装 XVFB,它允许 Firefox 无头运行。我已经使用了这个设置并且效果很好。

http://www.alittlemadness.com/2008/03/05/running-selenium-headless/

于 2013-03-09T18:32:17.667 回答
2

Firefox,从 Linux 上的 55 版和 Windows 和 macOS 上的 56 版开始,现在有一个内置的无头模式

目前(2017 年 9 月)我正在使用基于 GNU/Linux 的发行版和 Firefox 55,并且像这样的控制台命令可以正常工作:firefox --headless http://www.wikipedia.org,这不是很有用,但它可以工作,因为我看到相应的操作系统Firefox 的进程继续运行。

此功能将随着时间的推移逐渐改进,因此建议阅读官方开发人员文档,特别是对于那些对自动化测试和持续集成计划感兴趣的人。

于 2017-09-06T14:53:03.767 回答
2

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/
于 2017-06-06T19:09:48.480 回答