在FreeBSD服务器上的Jenkins中运行play框架测试时,我遇到Error: no display specified
错误。
所以每次我面对超时
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox
詹金斯:
1)安装了Xvfb插件
2)安装了Play Framework
使用selenide库和selenide模块为游戏框架编写测试。
在作业配置中配置并启用Xvfb。
作业控制台输出为:
Checking out Revision 3f485bd2e3dbcfa058fc19f89ab18020e36707d8 (origin/trunk)
...
Xvfb starting$ /usr/local/bin//Xvfb :1 -screen 0 -fbdir /usr/local/jenkins/xvfb-9-786185694297443042.fbdir
...
Command detected: clean
Command detected: deps --sync
Command detected: precompile
Command detected: auto-test
[YalsTests] $ /srv/java/play/play clean
...
~ using java version "1.8.0_72"
[YalsTests] $ /srv/java/play/play auto-test
~ 14 tests to run:
~
~ selenium/front/CorrectInput... org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
Error: no display specified
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:113)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:271)
工作配置:
[X] Start Xvfb before the build, and shut it down after.
Xvfb specific display name 1
Xvfb display name offset 0
Invoke Play Framework
Command set Play 1.x
Goals
Clean project [clean]
Custom parameter
Custom command deps --sync
Precompile all Java sources and templates [precompile]
Automatically run all application tests [auto-test]
答案 0 :(得分:1)
selenium任务需要知道它应连接到的DISPLAY。 你可以设置它,例如作为一个环境变量(不要忘记导出它,如果你在.profile中这样做)
export DISPLAY=:10
这适用于bash,其他shell可能需要两个步骤:
DISPLAY=:10
export DISPLAY
您还可以在命令行之前在命令行指定变量:
DISPLAY=:10 java -jar mySelenium.jar
答案 1 :(得分:0)