我想将JSTestDriver与jenkins-CI集成。 问题是构建服务器没有显示。 有没有办法无头地运行浏览器?
由于
答案 0 :(得分:7)
如果您的服务器是Linux,如上所述,您无法运行IE。但您可以运行其他浏览器,如Firefox。诀窍是在你的Jenkins服务器上安装XVFB,这允许Firefox运行无头。我已经使用过这种设置,效果很好。
http://www.alittlemadness.com/2008/03/05/running-selenium-headless/
答案 1 :(得分:2)
现在谷歌浏览器(Chrome 59 for Mac and Linux, Chrome 60 for Windows)内置了无头模式。它可以跨平台工作,并且不需要对显示设备,虚拟机或类似的东西进行任何操作。您可以找到a great Getting Started article by Eric Bidelman here,但以下是最关键的一点:
您必须使用Google Chrome.app
标记启动Chrome二进制文件(在macOS上,它位于Contents/MacOS
目录中的--headless
包内)。 当前也需要添加--disable-gpu
标志,因为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/
答案 2 :(得分:1)
Firefox,Linux版本55,Windows版本56和MacOS版本now has a builtin headless mode。
此时(2017年9月)我使用基于GNU / Linux的发行版,使用Firefox 55,这样的控制台命令工作正常:firefox --headless http://www.wikipedia.org
,这不是非常有用的,但是它的工作原理是因为我看到Firefox的相应操作系统进程一直在运行。
此功能会逐渐改善,因此建议阅读official developers documentation,特别是对那些对自动化测试和持续集成计划感兴趣的人。