gpt4 book ai didi

java - Selenium Webdriver - Debian Lenny 上的 FirefoxDriver 问题(错误无显示)

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:33:10 24 4
gpt4 key购买 nike

我正在使用 Selenium 测试我的网站,它使用 Firefox 打开一个 URL,登录并在页面上做一些事情,然后注销并关闭 Firefox。这一切在 Windows 7 上运行良好。代码以:

WebDriver driver = new FirefoxDriver();
driver.get(URL);

现在我将我的 jar 部署在运行 Debian lenny 的 linux box 中,上面有 iceweasel。一个 cron 作业启动程序,在尝试打开 firefox 时抛出以下错误:

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output: Error: cannot open display: :0 Error: cannot open display: :0

at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:106) at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:244) at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:110) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:190) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:183) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:179) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:92) at auth.Authenticator.authenticate(Authenticator.java:15) at reader.ReaderThread.run(ReaderThread.java:67) org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(/usr/bin/firefox) on port 7055; process output follows: Error: cannot open display: :0 Error: cannot open display: :0

Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: os.name: 'Linux', os.arch: 'i386', os.version: '2.6.26-2-686', java.version: '1.6.0_26' Driver info: driver.version: FirefoxDriver at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118) at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:244) at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:110) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:190) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:183) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:179) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:92) at auth.Authenticator.authenticate(Authenticator.java:15) at reader.ReaderThread.run(ReaderThread.java:67)

我的 Xvfb 在框中运行正常,我已将变量 DISPLAY 设置为 0。我四处搜索,但没有一个解决方案(如设置 env 变量)有效。

XVfb 是否应该作为浏览器将启动并执行必要操作的非图形环境工作?是什么阻止它启动?

我使用的是最新的 Selenium 2.31 版和 Firefox 3.0.6 Iceweasel。

编辑:已更新至 Firefox 14,但仍会遇到同样的问题。我什至将超时限制提高到 60 秒。

driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);

已解决:通过使用 xvfb 包装器运行它,xvfb 像这样运行:

export DISPLAY=:0.0
xvfb-run --auto-servernum --server-num=0 nohup java - jar X.jar

最佳答案

通过这样做解决:

export DISPLAY=:0.0 xvfb-run --auto-servernum --server-num=0 nohup java - jar X.jar

关于java - Selenium Webdriver - Debian Lenny 上的 FirefoxDriver 问题(错误无显示),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15877746/

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