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

我有一个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)

2 years ago

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

2 years ago

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

通过在终端中键入 env 并取下分配给DISPLAY变量的编号,找出您的显示设置 . 例如 DISPLAY:1.0 .

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

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