所有自动化测试均成功运行。但xvfb问题导致Jenkins构建失败。
我在Jenkins下的ExecuteShell选项中使用了以下commnad来在无头浏览器上运行我的测试用例
/usr/bin/xvfb-run /usr/local/apache-maven-3.3.1/bin/mvn clean test -Dbrowser=firefox
获得以下输出:
Results :
Tests run: 22, Failures: 0, Errors: 0, Skipped: 0
[INFO] BUILD SUCCESS
[INFO] Total time: 10:19 min
[INFO] Final Memory: 20M/47M
/usr/bin/xvfb-run: line 171: kill: (25939) - No such process
Build step 'Execute shell' marked build as failure
正如我们在输出[INFO] BUILD SUCCESS
中看到的那样。
但是/usr/bin/xvfb-run: line 171: kill: (25939) - No such process
导致了builld失败。
有人可以为此提供一些解决方法吗?
答案 0 :(得分:9)
尝试wkhtmltopdf
到xvfb-run
时,我遇到了同样的问题。
在我的PHP脚本中,我在同一个脚本中多次执行/usr/bin/xvfb-run /usr/bin/wkhtmltopdf ...
。第一个总是有效,但第二个一直失败,你发布了同样的错误。
将-e /tmp/xvfb.log
添加到第二个命令会在日志中显示:
致命服务器错误:(EE)服务器已激活显示99如果 此服务器不再运行,删除/tmp/.X99-lock并启动 试。
我的解决方案是在命令中添加-a
标志:
/usr/bin/xvfb-run -a /usr/bin/wkhtmltopdf ...
这将告诉xvfb-run“尝试获取一个免费的服务器号码,从--server-num开始”。
答案 1 :(得分:-1)
我可以使用一个小技巧跳过相同的错误:
sleep(10);
在我的代码上...在结束任务并睡眠我的PHP代码后,我可以运行另一个任务而没有任何错误...跟随我的PHP脚本......
希望有所帮助