我有一个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使用另一个端口以及我应该指定哪个端口?
答案 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访问控制。