【问题标题】:Why is Gecko Driver (v0.17.0 - x64bit) not opening Browser?为什么 Gecko Driver (v0.17.0 - x64bit) 没有打开浏览器?
【发布时间】:2017-06-14 11:21:47
【问题描述】:

为什么 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();
                }   
            }
        }

【问题讨论】:

  • 您遇到的错误是什么?发布堆栈跟踪
  • 您似乎没有正确初始化驱动程序。 nullpointer 错误与驱动程序初始化有关,请按照与 chrome 相同的步骤操作,因为您说 chrome 正在工作
  • @Trimantra 软件解决方案我使用了与 Chrome 完全相同的步骤非常奇怪为什么不工作
  • 你能显示 chrome 的代码吗?

标签: selenium selenium-webdriver webdriver geckodriver


【解决方案1】:

固定升级到 Selenium 版本:3.4.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 1970-01-01
    相关资源
    最近更新 更多