xvfb的插件对詹金斯同时运行多个作业实例(Xvfb plugin to run multiple

2019-09-27 23:17发布

我在詹金斯一份工作,运行用硒UI测试。 这项工作可以同时运行它的多个实例。 我遇到了一个问题,而试图使用的Xvfb(中的Xvfb插件或其他方式)。

使用插件的Xvfb

该配置是如下。 该插件分配相同的显示端口2个并发作业实例,然后一个失败。

从日志的Xvfb(注displayfd是2和屏幕是在两种情况下0):

Xvfb starting$ /usr/bin/Xvfb -displayfd 2 -screen 0 1024x758x16 -fbdir /srv/jenkins/xvfb-86-2156913754362856583.fbdir
Xvfb starting$ /usr/bin/Xvfb -displayfd 2 -screen 0 1024x758x16 -fbdir /srv/jenkins/xvfb-87-5845090375656014678.fbdir

其中上述2个作业实例失败。 失败的消息是这样的:

02:11:51 _XSERVTransSocketINETCreateListener: ...SocketCreateListener() failed
02:11:51 _XSERVTransMakeAllCOTSServerListeners: server already running

要怎样才能修复这个错误,这样的并发实例没有任何问题,运行?

此外,我想知道的Xvfb插件如何做的显示器来运行浏览器实例协会(火狐在这种情况下)。 它做export DISPLAY=:xx内部,其中XX =显示端口由插件作为计算的?

命令行(不通过Xvfb插件)

我尝试第二种方法是不使用插件,直接使用CLI运行的Xvfb。 我用了詹金斯环境变量BUILD_NUMBER确保独特的显示关联的作业实例。

export DISPLAY=:${BUILD_NUMBER}
Xvfb :${BUILD_NUMBER} -screen 0 1024x768x24 &

xvfb的启动罚款在两个作业实例,但测试失败,与此有关。

Failed to connect to binary FirefoxBinary(/usr/local/bin/firefox) on port 7055; process output follows: 
Error: cannot open display: 0:0

它出现的测试仍在试图用显示0:0。

任何有助于解决这个问题是极大的赞赏。

Answer 1:

您是否尝试过使用多媒体环境变量詹金斯,同样Xvbf已经开始? 在我的情况下,它的工作,我按照说明,在这篇文章中描述的詹金斯无头执行Selenium测试



文章来源: Xvfb plugin to run multiple job instances concurrently on Jenkins