Java Jenkins用户无法运行selenium测试:无法打开显示,未指定协议(Ubuntu 11.04)

Java Jenkins用户无法运行selenium测试:无法打开显示,未指定协议(Ubuntu 11.04),java,linux,firefox,selenium,jenkins,Java,Linux,Firefox,Selenium,Jenkins,我目前正在尝试让Jenkins运行我编写的selenium测试。 如果我在命令行中与我的用户一起执行jar文件,它会工作:Firefox打开,我在脚本中定义的操作正在进行,但是当我以jenkins用户身份登录并执行jar时,我会出现以下错误: org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox cons

我目前正在尝试让Jenkins运行我编写的selenium测试。 如果我在命令行中与我的用户一起执行jar文件,它会工作:Firefox打开,我在脚本中定义的操作正在进行,但是当我以jenkins用户身份登录并执行jar时,我会出现以下错误:

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
No protocol specified
No protocol specified
Error: cannot open display: :0
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:122)
    at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:271)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:117)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:218)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:211)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:207)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:120)
    at com.example.tests.test_login_logout.setUp(test_login_logout.java:24)
    at com.example.tests.test_login_logout.testLoginLogout(test_login_logout.java:40)
    at com.example.tests.test.main(test.java:8)
Exception in thread "main" org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(/usr/bin/firefox-bin) on port 7055; process output follows: 
No protocol specified
No protocol specified
Error: cannot open display: :0
Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:55:52'
System info: host: 'CAPSIDT410', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-97-generic', java.version: '1.7.0_91'
Driver info: driver.version: FirefoxDriver
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:134)
    at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:271)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:117)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:218)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:211)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:207)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:120)
    at com.example.tests.test_login_logout.setUp(test_login_logout.java:24)
    at com.example.tests.test_login_logout.testLoginLogout(test_login_logout.java:40)   at com.example.tests.test.main(test.java:8)
Caused by: org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
No protocol specified
No protocol specified
Error: cannot open display: :0
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:122)
    ... 9 more
org.openqa.selenium.firefox.NotConnectedException:45000毫秒后无法连接到端口7055上的主机127.0.0.1。firefox控制台输出:
没有指定协议
没有指定协议
错误:无法打开显示::0
位于org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:122)
位于org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:271)
位于org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:117)
位于org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:218)
位于org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:211)
位于org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:207)
位于org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:120)
在com.example.tests.test\u login\u logout.setUp(test\u login\u logout.java:24)
在com.example.tests.test\u login\u logout.testLoginLogout(test\u login\u logout.java:40)
位于com.example.tests.test.main(test.java:8)
线程“main”org.openqa.selenium.WebDriverException中出现异常:无法连接到端口7055上的二进制FirefoxBinary(/usr/bin/firefox-bin);过程输出如下:
没有指定协议
没有指定协议
错误:无法打开显示::0
构建信息:版本:'2.48.2',修订版:'41bccdd',时间:'2015-10-09 19:55:52'
系统信息:主机:'CAPSIDT410',ip:'127.0.1.1',os.name:'Linux',os.arch:'amd64',os.version:'3.2.0-97-generic',java.version:'1.7.091'
驱动程序信息:Driver.version:FirefoxDriver
位于org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:134)
位于org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:271)
位于org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:117)
位于org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:218)
位于org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:211)
位于org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:207)
位于org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:120)
在com.example.tests.test\u login\u logout.setUp(test\u login\u logout.java:24)
在com.example.tests.test\u login\u logout.testLoginLogout(test\u login\u logout.java:40)在com.example.tests.test.main(test.java:8)上
原因:org.openqa.selenium.firefox.NotConnectedException:45000毫秒后无法连接到端口7055上的主机127.0.0.1。firefox控制台输出:
没有指定协议
没有指定协议
错误:无法打开显示::0
位于org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:122)
... 9更多
我已经尝试添加Xvfb,更改显示名,检查是否有最新版本的Firefox和Selenium服务器,将Firefox降级到以前的版本,但没有解决问题

我怀疑这与jenkins不是一个普通用户而是一个“服务用户”有关。我只能通过命令行与该用户登录,并且只有在我修改该用户以需要密码后才能登录


如何让这个测试与詹金斯一起工作?< /p>如果我必须猜测你的詹金斯服务器不运行x.= /你可以考虑ChalId/[或者]构建你的整个工作,这样你就可以得到你需要的环境。你是在一个网格上运行还是在詹金斯运行的机器上运行?你的詹金斯运行XVFB怎么样?现在我添加了StuttVncServer作为一个vnc服务器,在我只安装了xvfb之前,我认为这已经足够了,但显然不是。在jenkins作业配置中,xvfb在构建之前启动,在构建之后关闭,xvnc也将被激活。现在我在构建时收到另一条错误消息:未设置用户环境变量。为此,我也安装了EnvInject并添加了USER=jenkins变量,但这并不能解决问题。有什么想法吗@段落:我试图在jenkins运行的同一台机器上运行测试——Hi,dekojo,欢迎使用Stack Overflow。我对你的问题进行了编辑,以使其格式更加清晰,并使其更符合本网站的指导原则。我们通常不会在这里的问题中包含问候语或类似“提前感谢您的回答”之类的内容,并且通常要求问题至少包含一个以问号结尾的实际句子。有关更多信息,请参阅我们的。如果我在编辑你的问题时不小心引入了错误,欢迎你自己编辑,甚至修复我的编辑。如果我必须猜测你的詹金斯服务器不运行x.= /你可以考虑ChalId/[或者]构建你的整个工作,这样你就可以得到你需要的环境。你是在网格上运行还是在詹金斯运行的机器上运行?你的詹金斯运行XVFB怎么样?现在我在我只安装了xvfb之前,我添加了tightvncserver作为vnc服务器,并认为这已经足够了,但显然不是。在jenkins作业配置中,xvfb在构建之前启动,在构建之后关闭,xvnc也将被激活。现在我在构建时收到另一条错误消息:未设置用户环境变量。为此,我也安装了EnvInject并添加了USER=jenkins变量,但这并不能解决问题。有什么想法吗@段落:我试图在jenkins运行的同一台机器上运行测试——Hi,dekojo,欢迎使用Stack Overflow。我对你的问题进行了编辑,以使其格式更加清晰,并使其更符合本网站的指导原则。我们通常不包括问候或类似“提前感谢任何回复”之类的内容