问题:
使用testNG运行时未加载geckodriver.exe。 Firefox将启动,但selenium无法连接到浏览器,我收到错误:
Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. ....
我的设置:
首先,我使用Java和selenium创建了一个快速测试。它只是打开浏览器并导航到页面。当这个运行时,我看到geckodriver进程,然后firefox进程出现在任务管理器中。
然后我根据GURU99网站的设置使用Maven和testNG创建了一个新项目。我已将selenium和testNG添加到pom.xml
文件中。
我将convert项目用于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();
}
}
答案 0 :(得分:1)
你错过了设置木偶的能力,例如
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。