无法打开Firefox浏览器selenium自动化脚本 - 错误:无法在Jenkins Ubuntu中打开显示:: 99

时间:2016-08-30 05:27:48

标签: selenium firefox jenkins

我有一个用selenium webdriver编写的简单自动化脚本。我需要通过Jenkins执行这个脚本。所以我在Jenkins中配置了这个工作,当试图执行时,我无法打开Firefox浏览器。

控制台输出如下:

Running TestSuite
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
Error: cannot open display: :99
Failed tests: 
 NewTest.testEasy:25 » WebDriver Failed to connect to binary FirefoxBinary(/usr...

这是我的代码:

@Test
    public void testEasy() {
//          WebDriver driver = new FirefoxDriver();
        WebDriver driver = null;
        FirefoxBinary binary = new FirefoxBinary(new File("/usr/bin/firefox"));
        binary.setEnvironmentProperty("DISPLAY",System.getProperty("lmportal.xvfb.id",":99"));
        driver = new FirefoxDriver(binary,null);
        driver.get("https://www.google.co.in/?gfe_rd=cr&ei=drM-V8PiHPPI8AevjriQDA&gws_rd=ssl");
//          String title = driver.getTitle();
//          AssertJUnit.assertTrue(title.contains("Free Selenium Tutorials"));
//          System.out.println("TEST");
    }

2 个答案:

答案 0 :(得分:8)

  

错误:无法打开显示:: 99

当我们在jenkins中运行selenium脚本时,它们以无头模式运行,即没有任何显示。因此,他们需要某种虚拟缓冲区,例如Xvfb或类似的。

在这种情况下,脚本正在端口上寻找一些虚拟显示器:99,它没有运行。如果jenkins框是linux,请在运行selenium脚本之前尝试。

Xvfb :99 &
export DISPLAY=:99

答案 1 :(得分:0)

实际上我能够执行脚本。但只有浏览器不可见。我很好。我也测试了失败的测试脚本,并且Jenkins返回了该错误。