我有框,在我运行测试。 这似乎是詹金斯将SSH方式并执行在正在运行的具体工作中描述的命令。
在这里,我想经营我的硒webdriver的测试,但它告诉我,我在启动Firefox的错误。 最终的想法是完全运行在此框中webtests,并采取错误的一些截图。
我使用的硒Java的2.25.jar,火狐10,Linux操作系统。
有趣的是,我可以手动SSH方式入禁区,暂时魔法饼干从盒子上的其他用户复制(获得一个X隧道),做一个export DISPLAY=mydisplay:1.0
,然后使用Ant启动我的Selenium测试。 而这将带来了Firefox和测试就好了。
有迹象表明,似乎有相同的问题,在这里不同的线程,我想我已经尝试过了一大半。 这里是我做了什么:
重启盒子,重新登录与VNC。
在詹金斯放在bash脚本运行Selenium测试之前运行。 在bash脚本基本上只是做一个export DISPLAY=mydisplay:1.0
。 它还可执行xclock
。 这个工程,我能看到的xclock显示在VNC。
iptables的已关闭
Firefox是正确位于/ usr / bin中/火狐
sshd_config中示出了具有打开X11Forwarding为真。
据说降级的Firefox帮助一些人,但我不希望这样做。 webdriver的应该支持FF 10无妨。
然而,以上都不是解决问题。
它似乎并不像在localhost甚至存在端口7055:
netstat -an | grep 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)
Answer 1:
不知道,如果你解决了这个问题,不过我已经解决了同样的问题,从另一个侧面。
看来硒和Firefox有困难互相交谈 - 我怀疑过许多版本,所以向后和向前兼容性并不总是保证了火狐“演变”的变化,不兼容似乎总是产生同样的错误。
我的问题开始时,我从FF 15移动到FF 16.在Ubuntu上运行,这种情况发生的汽车神奇连同其他的升级,但我相信这是关键的变化。
这个问题是由硒2.24.1移动到硒2.25.0解决
由于硒的变化仅仅是下载JAR文件并运行它,而不是旧的,这是值得尝试这是一个快速简便的疑难解答 - 如果它没有帮助,只是切换回来。 在你的情况,我不知道硒的版本试试它,但我认为应该2.24与FF 10工作。
我在过去发现的另一个问题是,火狐不会因为在Ubuntu root身份运行。 如果发生这种情况硒作为服务运行,或可能如果是从一个bash脚本或cron作业解雇了。 这可以解释为什么它运行为你而不是詹金斯。
Answer 2:
我有一个类似的问题。 也许这个答案将帮助你。
它看起来像你必须要在两个不同的错误:
-
Unable to connect to host 127.0.0.1 on port 7055
-
Error: no display specified
究其原因, Unable to connect
错误是,Selenium服务器的版本不知道如何与Firefox的更新版本。 你需要下载支持Firefox的新版本Selenium服务器的新版本。
究其原因, Error: no display specified
错误是火狐正在启动,但在远程主机上运行没有X服务器(GUI)。 您可以使用X11转发到远程主机上运行的Firefox,但你的本地主机上显示。 在Mac OS X,你需要下载XQuartz才能使用X11转发。
Answer 3:
你需要选择加入硒测试前检查浏览器的兼容性:
https://github.com/SeleniumHQ/selenium/blob/master/java/CHANGELOG
这可能有助于回答上述问题。
Answer 4:
获取最新硒瓶(2.30)为Firefox 19
您可以下载最新的罐子(2.31写作的)位置: https://code.google.com/p/selenium/downloads/list
Answer 5:
我被降级我的Firefox到之前曾与硒的webdriver行之有效的旧版本解决了这个问题。 就我而言,我不得不降级到Firefox 18,这个版本与硒2.27合作
这里是让老版本的Firefox链接: https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
Answer 6:
这个问题已经困扰我很长时间,我已经看到了在Firefox的情况下,一个可行的解决方案是使用升级Firefox的驱动程序 。
如果你的Firefox升级是自动发生的可能比你在一段时间曾经面临这样的问题。 看起来像Firefox的家伙都发展得太快,或者他们不关心向后兼容性。
大多数时候,它是 - 每次我看到我的老段子我检查这个问题,因为Firefox的版本已经改变。
然后我去到Maven回购硒Firefox的驱动回购- http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-firefox-driver并下载最新版本。
或更新我的pom.xml(如果使用的Maven)与Firefox的驱动程序的新版本,现在它 - 2.40.0
有没有简单的方法来避免这个问题,除非你真的很明确禁止从Firefox(你可以做到这一点(在Mac)的喜好automatied更新 - 高级 - 更新 - 选择“检查更新,但是让我选择是否安装” )
如果你的脚本在自动模式下运行,那么你可能要禁用的更新。 然而,这可能会产生其他问题。 由于大多数人/用户可以默认启用Firefox的更新。 所以,你的应用程序是不是真的被任何更高版本的测试。
Answer 7:
我的Firefox 47和硒2.53,而我得到了同样的错误。 我的解决办法是改变Firefox的47到Firefox 46,问题解决了。
Answer 8:
更新硒罐子,下载硒2.31.0
这个问题已经通过合并硒家伙解决
这是一个兼容性问题。
干杯
Answer 9:
与脚本的问题是,用于该脚本的环境是不一样的使用您的测试之一,因此设置环境变量有什么也不做你的测试。
要正确设置你需要将其设置在詹金斯的变量。 转到管理詹金斯>管理节点>法师>配置 。 检查环境变量复选框,然后在名称框中输入显示屏,并且将值设置为:1.0。
此外,你需要设置权限,请尝试禁用使用xhost的访问控制xhost +
终端。
Answer 10:
我也面临同样的问题。 每当我们或webdriver的打开了FF浏览器会检查是否有任何更新。 在这种情况下,我会尝试在执行时间更新,然后你会得到哪怕只是因为你没有适当地更新版本硒是正确更新的错误。
导航到“ http://docs.seleniumhq.org/download/ ”并下载最新版本。 现在去检查,这个问题将得到解决,确实如此。 :)
Answer 11:
我得到了同样的错误; 我用硒的Java版本2.25.0和Firefox vresion 18.0.2; 我已经改变了硒的java版本2.30.0和现在的作品。
Answer 12:
为了解决此问题,使用上提供新的jar文件http://docs.seleniumhq.org/download/ 。 作为各自为Java,C#,PHP等...火狐27.0.1需要的驱动程序版本2.39.0。
Answer 13:
就在詹金斯的Xvnc安装插件。 这个问题应该得到解决。
Answer 14:
我得到了同样的错误“selenium_Unable连接到主机127.0.0.1端口7055”解决方案:我用硒的Java-2.48.2与Firefox版本43.0.1,现在它运作良好。
Answer 15:
我也有同样的问题,但问题是降级的Firefox版本35.0.1解决后,我的硒的版本是2.43
Answer 16:
我只好跑码头工人完全一样的问题,但我发现在日志中你提到的错误之前的解决方案。
selenium_1 | 2016-11-11 11:19:34,498 DEBG 'xvfb' stderr output:
selenium_1 | (EE)
selenium_1 | Fatal server error:
selenium_1 | (EE) Server is already active for display 99
selenium_1 | If this server is no longer running, remove /tmp/.X99-lock
selenium_1 | and start again.
selenium_1 | (EE)
我已经按照建议和问题已经解决。
Answer 17:
这是当我用IWebDriver的静态属性和多种测试方法称之为它的表现如何。
public class LanguageMenu
{
private static IWebDriver drv;
static LanguageMenu()
{
drv = Driver.Instance;
}
...
public static void English()
{
drv.FindElement(By.Id("mvc_lang_en"));
el.Click();
}
public static void Rusian()
{
...
}
...
}
喜欢
[TestMethod]
public void Language_SwitchTo_English()
{
LanguageMenu.English();
Assert.IsTrue(ContactPage.IsAt("Contact"));
}
[TestMethod]
public void Language_SwitchTo_Rusian()
{
LanguageMenu.English();
Assert.IsTrue(ContactPage.IsAt("Контакт"));
}
解
对于每一个呼叫测试方法创建驱动程序的新实例
private static void English()
{
var drv = Driver.Instance;
var el = drv.FindElement(By.Id("mvc_lang_en"));
el.Click();
}
Answer 18:
更新硒罐子,如果我们的硒脚本不执行。 目前我使用硒的Java-2.43.0-SRCS
现在,它工作正常
Answer 19:
它发生在不同版本的FF。 我用硒服务器独立-2.41.0.jar和selenium-java-2.41.0.zip,显示同样的错误使用最新版本的FF 39。
获取最新的服务器和客户端的jar文件在这里为我所用的服务器和客户端版本分别为2.47.0和2.47.1的兼容性。 呯! 有效。
Answer 20:
这是因为旧版本的。 刚刚更新浏览器到最新版本,并更新硒的webdriver包到最新版本。
Answer 21:
只需重新启动终端。 终端别人挂什么。 一切都将在此之后正常工作
Answer 22:
添加到知识库。 我们对竹同样的问题。 这个问题是通过使用竹子的环保性能得到解决。
DISPLAY=":1"
增加价值为系统属性在pom.xml,或者在命令行中没有工作。
Answer 23:
在Windows上:检查为好你的Firefox的“位数”。 火狐43.0.1 64位不与硒2.50.0工作。 与Firefox 43.0.1 32位工作好...
Answer 24:
我也被卡在这个错误了三天,终于想通out.You可以查看我所给出的答案在这里 。这是浏览器和服务器硒的兼容性问题。 我希望这helps.You可以从检查浏览器的兼容性此链接
Answer 25:
今天我有同样的问题。 要解决我降级版Firefox 51至47,它的工作。
注:我使用的是Linux操作系统Ubuntu伴侣,在虚拟的盒子,与主机是另一个Ubuntu的伴侣。 所有的操作系统是64位和Firefox也。
Answer 26:
安装了Firefox安装18.0.exe它为我工作
Answer 27:
我曾与Firefox 38的同样的问题。
使用以下版本的依赖关系之后,我可以解决这个问题。
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>2.53.0</version>
</dependency>
Answer 28:
我认为这可能是显示器的一个问题。 如果你没有GUI中的复选框,然后从硒的webdriver启动Firefox会给这个错误。
要解决这一点,首先安装的Xvfb [ yum install Xvfb -y
在框中](虚拟显示驱动程序)。 然后用运行从詹金斯测试xvfv-run -a -d <your test execution command>
。 这将在一个虚拟显示缓冲区启动浏览器。 此外,它能够让使用硒的webdriver截图。
Answer 29:
解决方案 -
1)升级Selenium服务器即硒罐子“硒的服务器独立-2.xx.x.JAR” TO “硒的服务器独立,2.45.0.JAR”
2)升级您的硒客户端驱动程序即硒libs文件夹“硒-java的2.xx.x” TO “硒的Java-2.45.0”
3)检查并安装兼容版本的Firefox
请参阅- 下载更新硒库和JAR即版本2.45.0
这将解决您的问题..干杯!
文章来源: Webdriver Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms