无头测试显示错误

Headless testing display error

背景

我正在 运行使用带有 Testng 的 Maven 和 Jenkins 进行一组 selenium 测试。直到一周前,我让他们无脑地工作得很好。 Jenkins 位于可通过端口 8080 访问的服务器上。测试也 运行 通过 eclipse 正常。

软件版本

我读过很多关于 Firefox 无法与 selenium 相比的文章,所以这里列出了我正在使用的软件和版本。

错误

在我 运行 测试和失败之后,我通过 Jenkins 检查控制台。我得到的错误让我认为这是 Xvnc 和 firefox 的问题,但我无法指出它。我得到一个 NotConnectedException。 firefox 控制台错误已经更改了几次,这里是控制台向我显示的不同错误列表。

Error: cannot open display: :87

firefox: Fatal IO error 11 (Resource temporarily unavailable) on X server :46.

firefox: Fatal IO error 2 (No such file or directory) on X server :78.

研究

我一直在 bugzilla 上,但找不到问题的最终答案。

我也环顾四周,但没有找到任何修复方法。

结论

据我所知,这与 Xvnc 有关,可能 运行ning

sudo apt-get update 

更改 Xvnc 的操作方式?上周我已经更新了包,但是我们的测试人员在添加新测试时没有正确检查 Jenkins,因此我浪费了一整天的时间试图找出问题的时间和原因。

问题

什么会导致 Jenkins 出现这样的 return 错误,我该如何修复它们以及如何防止再次发生这种情况?

编辑 1

显示变量似乎是问题所在,输入命令后

echo $DISPLAY

没有响应只是一个空行。

编辑 2

运行执行命令

export DISPLAY=:0.10

没有给出结果

:0.10

当我回显 $DISPLAY

我认为 DISPLAY varibale 没有按预期运行,因此 firefox 无法连接到它。要了解有关 $DISPLAY 的更多信息,请参阅此 link https://askubuntu.com/questions/432255/what-is-display-environment-variable

在作业 运行s 的从节点上尝试 运行 此命令,这应该为您提供测试连接和 运行.[=12 所需的设置=]

nohup /usr/bin/Xvfb :2 –screen 0 1024x768x24 > /dev/null 2>&1 &