gpt4 book ai didi

firefox - Webdriver 45000 毫秒后无法连接到端口 7055 上的主机 127.0.0.1

转载 作者:行者123 更新时间:2023-12-03 04:26:40 24 4
gpt4 key购买 nike

我有一个运行测试的盒子。 Jenkins 似乎会通过 ssh 登录并执行正在运行的特定作业中描述的命令。

在这里,我尝试运行我的 Selenium Webdriver 测试,但它告诉我启动 Firefox 时出现错误。最终的想法是在这个盒子上完全运行网络测试,并截取一些错误的屏幕截图。

我使用的是selenium-java-2.25.jar,firefox 10,linux操作系统。

有趣的是,我可以手动 ssh 进入盒子,临时复制盒子上另一个用户的 magic cookie(以获取 X 隧道),执行 export DISPLAY=mydisplay:1.0,然后使用 ant 启动我的 Selenium 测试。这将打开 Firefox 并进行测试。

这里有很多线程似乎都有完全相同的问题,我想我已经尝试了其中的大多数。这是我所做的:

  • 重新启动盒子,使用 VNC 重新登录。

  • 在 Jenkins 中放置了一个 bash 脚本,以便在运行 selenium 测试之前运行。 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

也许这与 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)

最佳答案

不知道你是否解决了这个问题,但我刚刚从另一边解决了同样的问题。

Selenium 和 Firefox 似乎很难相互通信 - 我怀疑 Firefox 在多个版本中“进化”了变化,因此向后和向前兼容性并不总是得到保证,并且不兼容似乎总是会生成相同的错误。

当我从 FF 15 迁移到 FF 16 时,我的问题就开始了。在 Ubuntu 上运行时,这种情况会随着其他升级而自动神奇地发生,但我相信这是关键的变化。

通过从 Selenium 2.24.1 迁移到 Selenium 2.25.0 解决了该问题

由于 selenium 的更改只是下载 jar 文件并运行它而不是旧的文件,因此值得尝试将其作为一种快速且简单的故障排除工具 - 如果没有帮助,只需切换回来即可。就您而言,我不确定要尝试哪个版本的 Selenium,但我认为 2.24 应该适用于 FF 10。

我过去发现的另一个问题是 Firefox 无法在 Ubuntu 上以 root 身份运行。如果 Selenium 作为服务运行,或者可能是从 bash 脚本或 cron 作业启动,就会发生这种情况。这可以解释为什么它为你运行但不为 Jenkins 运行。

关于firefox - Webdriver 45000 毫秒后无法连接到端口 7055 上的主机 127.0.0.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12588082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com