0
为什么Gecko驱动程序(v0.17.0 - x64bit)不能打开浏览器?为什么Gecko Driver(v0.17.0 - x64bit)无法打开浏览器?
基页/方法:
public BasePage loadUrl(String url) throws Exception {
driver.get(url);
return new BasePage(driver);
}
黄瓜步骤:
@Given("^User navigates to the \"([^\"]*)\" website$")
public void user_navigates_to_the_website(String url) throws Throwable {
BasePage basePage = new BasePage(driver);
basePage.loadUrl(url);
}
驱动工厂:
public WebDriver getDriver() {
try {
if(driver == null){
System.setProperty("webdriver.gecko.driver", Constant.GECKO_DRIVER_DIRECTORY);
driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
basePage = PageFactory.initElements(driver, BasePage.class);
loginPage = PageFactory.initElements(driver, LoginPage.class);
}
} catch (Exception e) {
}
return driver;
}
新规范 - 司机厂:使用if语句来指向exe文件,每个浏览器:
public WebDriver getDriver() {
try {
ReadConfigFile file = new ReadConfigFile();
if (driver == null) {
if("chrome".equalsIgnoreCase(file.getBrowser())){
System.setProperty("webdriver.chrome.driver", Constant.CHROME_DRIVER_DIRECTORY);
driver = new ChromeDriver();
}
if("firefox".equalsIgnoreCase(file.getBrowser())){
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
System.setProperty("webdriver.gecko.driver", Constant.GECKO_DRIVER_DIRECTORY);
capabilities.setCapability("marionette", true);
driver = new FirefoxDriver(capabilities);
}
if("ie".equalsIgnoreCase(file.getBrowser())){
System.setProperty("webdriver.ie.driver", Constant.IE_DRIVER_DIRECTORY);
driver = new InternetExplorerDriver();
}
}
}
什么是你所得到的错误?发布堆栈跟踪 – Madhan
@Madhan即时获取'消息:java.lang.NullPointerException \t在utils.DriverFactory.getDriver(DriverFactory.java:29)'但与chrime驱动程序安装程序工作 – xGIx
看来,你还没有初始化驱动程序正常。 nullpointer错误是关于驱动程序的初始化按照您所做的chrome所做的相同的步骤,因为您要说chrome正在工作 –