首页 文章

Java Selenium Gecko驱动程序无法加载

提问于
浏览
1

问题:

我使用testNG运行时没有加载geckodriver.exe . Firefox将启动,但selenium无法连接到浏览器,我收到错误:

Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. ....

我的设置:

  • Windows 7

  • Eclipse Neon 3

  • Selenium 3.0.1

  • Geckodriver v0.13.0(正在使用v0.11.1)

  • Firefox 48.0.2

首先,我使用Java和selenium创建了一个快速测试 . 它只是打开浏览器并导航到页面 . 当这个运行时,我看到geckodriver进程,然后firefox进程出现在任务管理器中 .

然后我按照GURU99网站的设置,使用Maven和testNG创建了一个新项目 . 我将selenium和testNG添加到 pom.xml 文件中 .

我使用转换项目testNG(xml文件)并设置运行配置以运行XML文件 .

当我运行测试时,我可以看到firefox进程,然后ff启动 . 但壁虎驱动程序从未启动过 .

这是我的代码(不包括导入):

public class NewTest {

    private WebDriver driver;

    @Test
    public void test01() {        
        driver.get("http://www.startpage.com");       
        System.out.println("Pge title " + driver.getTitle());                 
    }

    @BeforeTest
    public void beforeTest() {        
        System.setProperty("webdriver.gecko.driver", "c:\\selenium\\geckodriver.exe");        
        driver = new FirefoxDriver();
    }

    @AfterTest
    public void afterTest() {
        driver.quit();
    }   
}

1 回答

  • 1

    您错过了设置Marionette功能,例如

    System.setProperty("webdriver.gecko.driver", <<Your driver path here>>);
    DesiredCapabilities cap = DesiredCapabilities.firefox();
    cap.setCapability(FirefoxDriver.MARIONETTE, true);
    cap.setCapability(FirefoxDriver.BINARY, <<Your firefox.exe path here>>);
    cap.setCapability(FirefoxDriver.PROFILE, <<Your firefox profile here>>);
    driver = new FirefoxDriver(cap);
    

    我使用上面的东西,它的魅力就像!

    有关更多信息,请参阅:Selenium 3 using Firefox Geckodriver .

相关问题