6

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

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

这是我得到的错误:

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

火狐控制台输出:

错误:未指定显示

错误:未指定显示

这是我的代码:

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

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

4

2 回答 2

2

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

于 2013-07-29T10:45:05.500 回答
2

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

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

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

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

于 2013-07-29T22:58:05.837 回答