2013-07-29 156 views
6

我有一个硒webdriver测试,转换为maven项目,我想通过詹金斯上的xvfb运行。如何更改Webdriver 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: no display specified

Error: no display specified

这是我的代码:

File ffExe = new File("/usr/bin/firefox"); 
FirefoxBinary ffox = new FirefoxBinary(ffExe); 
ffox.setEnvironmentProperty("DISPLAY", ":21"); 
WebDriver driver = new FirefoxDriver(ffox, null); 

所以,我怎么能告诉火狐使用其他端口和一个我应该指定?

回答

2

有一个系统属性-webdriver.firefox.port这可能是yoru查询的答案。它在维基上列出 - http://code.google.com/p/selenium/wiki/FirefoxDriver,但没有提供相同的文档。您可以尝试让我们知道它是否有效:)

+0

你能告诉我一个如何在代码中使用“webdriver.firefox.port”的例子吗?在你链接到的页面中,一旦他们谈论了setProperty,然后他们谈论setPreference和Im变得困惑 –

+0

System.setProperty(“propertyname”,“propertyvalue”) – Akbar

+0

谢谢!将尝试它 –

2

问题不在于它无法连接到该端口,而是错误的第二部分,即在Jenkins中没有指定显示。这就是为什么设置Firefox的显示器可能不起作用。

通过在终端中输入env并记下分配给DISPLAY变量的数字,找出您的显示设置。例如DISPLAY:1.0

接下来你需要在Hudson/Jenkins中设置显示变量。导航至Jenkins登录页面,然后单击管理詹金斯>管理节点>主站>配置。选中环境变量复选框,然后在名称框中设置DISPLAY,并将值设置为我们的示例:1.0

此外,您可能需要在终端中使用xhost +来禁用您的xhost访问控制。

+0

谢谢,我已经尝试了所有关于此Display的Google阅读材料,到目前为止没有任何工作,在您的文章中有一些新的东西,我今天将在工作中尝试它们。你能看看我的其他相关话题吗? http://stackoverflow.com/questions/17925498/shifted-webdriver-test-from-firefox-to-chrome-jenkins-still-thinks-its-firefox –

相关问题