如何更改Webdriver Firefox连接到localhost的端口?

时间:2013-07-29 08:55:10

标签: firefox selenium webdriver

我有一个selenium webdriver测试,转换为maven项目,我想在Jenkins上通过xvfb运行。

显示选择存在问题,但我想尝试其他方法并更改端口,例如。

这是我得到的错误:

  

org.openqa.selenium.firefox.NotConnectedException:45000 ms后无法在端口7055上连接到主机127.0.0.1。

     

Firefox控制台输出:

     

错误:未指定显示

     

错误:未指定显示

这是我的代码:

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

那么,我如何告诉firefox使用另一个端口以及我应该指定哪个端口?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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

在终端输入env并取下分配给DISPLAY变量的号码,找出您的显示设置。例如DISPLAY:1.0

接下来,您需要在Hudson / Jenkins中设置显示变量。导航到Jenkins登录页面,然后单击 Manage Jenkins> Manage Nodes> Master> Configure 。选中环境变量复选框,然后在名称框中设置DISPLAY,将值设置为我们的示例:1.0

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