我有一个箱子,我在那里运行测试。似乎 Jenkins 会 ssh 并执行正在运行的特定作业中描述的命令。
在这里,我试图运行我的 Selenium WebDriver 测试,但它告诉我,我在启动 Firefox 时出现了错误。最终的想法是在这个机器上完全运行 webtest,并截取一些错误的屏幕快照。
我使用的是 selenium-java-2.25. jar、 firefox 10、 linux OS。
有趣的是,我可以手动 ssh 进入框中,临时从框中的另一个用户复制神奇 cookie (以获得一个 X 通道) ,执行 export DISPLAY=mydisplay:1.0
,然后使用 ant 启动我的硒测试。这会调出 firefox 和测试。
这里有各种各样的线程似乎有完全相同的问题,我想我已经尝试了其中的大部分。这就是我所做的:
重新启动盒子,用 VNC 重新登录。
在运行硒测试之前,将 bash 脚本放在 Jenkins 中运行。Bash 脚本基本上只执行 export DISPLAY=mydisplay:1.0
。它还执行 xclock
。我可以在 VNC 中看到显示的 xlock。
Iptables 已关闭
Firefox 正确地位于/usr/bin/firefox 中
Sshd _ config 显示 X11Forforward 为 true。
据说降级火狐帮助了一些人,但我不希望这样做。网络驱动程序应该支持 FF 10无论如何。
然而,以上这些都不能解决问题。
本地主机上的7055端口似乎并不存在:
没有指纹
我的/etc/hosts 是这么说的:
1 127.0.0.1 localhost.localdomain localhost
2 ::1 localhost6.localdomain6 localhost6
也许它与 localhost: 7055不存在有关?我不知道接下来该怎么办。但是,为什么当我指定 mydisplay:1.0
时,错误输出说它在寻找 display: :0.0
?
最后是我收到的错误输出:
[testng] org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Error: cannot open display: :0.0
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng]
[testng] Error: cannot open display: :0.0
[testng]
[testng] at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:109)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:245)
[testng] at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:109)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:185)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:178)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:174)
[testng] at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:92)
[testng] at com.test.webtest.browser.BrowserFactory.createBrowser(BrowserFactory.java:24)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[testng] at java.lang.reflect.Method.invoke(Method.java:601)