【问题标题】:Headless testing display error无头测试显示错误
【发布时间】:2015-11-03 09:22:32
【问题描述】:

背景

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

软件版本

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

  • 火狐:39
  • Maven:3.3.3
  • Java:1.7.0_79
  • 硒:2.46 和 2.47(当前为 2.47)
  • 詹金斯: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 时

【问题讨论】:

    标签: maven firefox selenium jenkins automated-tests


    【解决方案1】:

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

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

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

    【讨论】:

    • 我使用的是 Xvnc 而不是 Xvfb。
    • 谢谢,您似乎真的很喜欢 $DISPLAY 变量。我没有收到echo $DISPLAY的回复
    • 您是否尝试导出 DISPLAY 变量? export DISPLAY=:0.0
    • 太棒了,echo $DISPLAY 现在给出了结果:0.0。再次运行测试
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多