无头测试显示错误

时间:2015-08-11 08:33:31

标签: maven firefox selenium jenkins automated-tests

背景

我正在使用带有Testng的Maven和Jenkins运行一组selenium测试。直到一周前,我让他们无精打采地工作。 Jenkins坐在可通过端口8080访问的服务器上。测试也通过eclipse运行良好。

软件版本

我已经阅读了很多关于Firefox与selenium无法比拟的内容,所以这里列出了我正在使用的软件和版本。

  • Firefox:39
  • Maven:3.3.3
  • Java:1.7.0_79
  • 硒:2.46& 2.47(目前为2.47)
  • Jenkins:1.622
  • Xvnc:1.3.9
  • ubuntu 14

错误

运行测试后,我通过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有关,可以运行

sudo apt-get update 

更改Xvnc的运作方式?我上周已更新了这些软件包,但我们的测试人员在添加新测试时没有正确检查Jenkins,因此我浪费了一整天时间来确定问题所在的时间点。

问题

什么会导致Jenkins返回这样的错误,我该如何修复它们?如何防止这样做呢?

编辑1

在输入命令

时,显示变量似乎是个问题
echo $DISPLAY

没有回应只是空行。

编辑2

运行命令

export DISPLAY=:0.10

没有给出结果

:0.10

当我回显$ DISPLAY

1 个答案:

答案 0 :(得分:1)

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

尝试在作业运行的从属节点上运行此命令,这应该为您提供连接和运行测试所需的设置。

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