我有运行测试的框。似乎Jenkins将ssh并执行正在运行的特定作业中描述的命令。
在这里,我正在尝试运行Selenium Webdriver测试,但是它告诉我启动firefox时出错。最终的想法是完全在此框中运行Webtest,并拍摄一些错误屏幕截图。
我正在使用selenium-java-2.25.jar,firefox 10,Linux OS。
有趣的是,我可以手动插入盒中,暂时将另一个用户的魔术cookie复制到盒中(以获得X隧道),执行export DISPLAY=mydisplay:1.0
,然后使用ant启动我的硒测试。这将带来Firefox和测试就好了。
这里有各种线程似乎都存在完全相同的问题,我想我已经尝试了其中的大多数。这是我所做的:
重新启动该框,使用VNC重新登录。
在进行硒测试之前,在Jenkins中放置了一个bash脚本以使其运行。bash脚本基本上只是执行一个
export DISPLAY=mydisplay:1.0
。它还执行xclock
。这可以正常工作,因为我可以看到VNC中显示了xclock。iptables已关闭
firefox正确位于/ usr / bin / firefox中
sshd_config显示X11Forwarding为true。
据说降级的Firefox帮助了一些人,但我不希望这样做。Webdriver应该仍然支持FF 10。
但是,以上均不能解决问题。
似乎本地主机上的端口7055甚至不存在:
netstat -an | grep 7055
-没有印
这是我的/ etc / hosts所说的:
1 127.0.0.1 localhost.localdomain localhost
2 ::1 localhost6.localdomain6 localhost6
也许与本地主机:7055不存在有关?我不确定从这里去哪里。仍然,为什么错误输出display: :0.0
在我指定后仍显示正在寻找mydisplay:1.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)