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

Tes*_*min 0 firefox selenium 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...
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

@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");
    }
Run Code Online (Sandbox Code Playgroud)

Sat*_*pta 8

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

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

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

Xvfb :99 &
export DISPLAY=:99
Run Code Online (Sandbox Code Playgroud)