我正在使用Selenium来测试我的网站,它使用Firefox打开一个URL,登录并在页面上做一些事情,然后注销并关闭firefox.这一切在Windows 7上运行良好.代码以:
WebDriver driver = new FirefoxDriver();
driver.get(URL);
Run Code Online (Sandbox Code Playgroud)
现在我将我的jar部署在运行Debian lenny的linux盒子里,它上面有iceweasel.一个cron作业启动该程序,在尝试打开firefox时抛出以下错误:
org.openqa.selenium.firefox.NotConnectedException:无法连接后45000毫秒到主机端口7055 127.0.0.1.Firefox控制台输出:错误:无法打开显示:: 0错误:无法打开显示:: 0
在org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:106)在org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:244)在org.openqa.selenium.remote.RemoteWebDriver (RemoteWebDriver.java:110)在org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:190)在org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:183)在org.openqa.selenium .firefox.FirefoxDriver.(FirefoxDriver.java:179)在org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:92)在auth.Authenticator.authenticate(Authenticator.java:15)在reader.ReaderThread.run( ReaderThread.java:67)org.openqa.selenium.WebDriverException:未能连接到端口7055的二进制FirefoxBinary(在/ usr /斌/火狐); 进程输出如下:错误:无法打开显示:: 0错误:无法打开显示:: 0
构建信息:版本:'未知',修订版:'未知',时间:'未知'系统信息:os.name:'Linux',os.arch:'i386',os.version:'2.6.26-2- 686',java.version:'1.6.0_26'驱动程序信息:driver.version:FirefoxDriver,位于org.openqa.selenium.firefox的org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118). FirefoxDriver.startClient(FirefoxDriver.java:244)位于org.openqa的org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:110)org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:190) .selenium.firefox.FirefoxDriver.(FirefoxDriver.java:183)org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:179)org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:92)在auth.Authenticator.authenticate(Authenticator.java:15)at reader.ReaderThread.run(ReaderThread.java:67)
我有Xvfb在框中运行正常,我已将变量DISPLAY设置为0.我已经搜索过周围没有任何解决方案(如设置env变量)工作.
Isnt XVfb应该作为一个非图形环境工作,浏览器将启动并执行必要的操作?什么阻止它启动?
我正在使用最新的Selenium版本2.31和Firefox 3.0.6 Iceweasel.
编辑:已更新到Firefox 14,仍然看到相同的问题.我甚至将超时限制提高到60秒.
driver.manage().timeouts().pageLoadTimeout(60,TimeUnit.SECONDS);
求助:通过使用xvfb包装器运行它,xvfb-run如下:
export DISPLAY=:0.0
xvfb-run --auto-servernum --server-num=0 nohup java - jar X.jar
Run Code Online (Sandbox Code Playgroud) 我有一个Java应用程序,使用Selenium Webdriver登录到一个站点,检查特定的文本,如果找到它们给我发电子邮件.我有一个cron作业,每天早上运行jar文件,每晚都停止它.
它使用firefox但运行无头,这是命令
xvfb-run --auto-servernum --server-num = 0 nohup/usr/bin/java -jar A.jar
当它试图打开Firefox时,抛出以下内容:
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
*** Item Installed via directory addition to Install Location: app-global Item ID: {972ce4c6-7e08-4474-a285-3208198ce6fd}, attempting to register...
*** Item Installed/Upgraded at Install Location: app-global Item ID: {972ce4c6-7e08-4474-a285-3208198ce6fd}, attempting to register...
*** Blocklist::_loadBlocklist: no XML File found
*** ... success, item is compatible
*** Item Installed via directory addition to Install Location: app-profile Item …
Run Code Online (Sandbox Code Playgroud)