java.lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置

nsC*_*lin 3 java selenium getproperty geckodriver

package com.merchantPlatform;

import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class MerchantPlatformTest {

    public static void main(String[] args) {

        System.getProperty("webdriver.gecko.driver", "C:\\Selenium WebDriver\\geckodriver\\geckodriver-v0.17.0-win64\\geckodriver.exe");

        DesiredCapabilities capabilities = DesiredCapabilities.firefox();
        capabilities.setCapability("marionette", true);

        // Initialize WebDriver
        WebDriver driver = new FirefoxDriver(capabilities);

         /* This works fine for versions lesser than Selenium 3. For Selenium 3 and higher, it will throw java.lang.IllegalStateException */

        // Maximize Window
        driver.manage().window().maximize();

        // Wait For Page To Load
        driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);

        // Navigate to MerchantPlatform URL
        driver.get("http://localhost:52939/");

    }

}
Run Code Online (Sandbox Code Playgroud)

错误

我得到以下例外 System.getProperty

线程"main"中的异常java.lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置; 有关更多信息,请参阅 https://github.com/mozilla/geckodriver.最新版本可以从https://github.com/mozilla/geckodriver/releases下载到 com.google.common.base.Preconditions.checkState(Preconditions.java:738)org.openqa.selenium.remote.service.位于org.openqa.selenium.firefox.GeckoDriverService.access的DriverService.findExecutable(DriverService.java:124)org.openqa.selenium.firefox.GeckoDriverService $(GeckoDriverService.java:41)$ Builder.findDefaultExecutable(GeckoDriverService.java:115 )org.openqa.selenium.remote.service.DriverService $ Builder.build(DriverService.java:330)org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:207)org.openqa.selenium. firefox.FirefoxDriver.(FirefoxDriver.java:108)atg.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:137)at com.merchantPlatform.MerchantPlatformTest.main(MerchantPlatformTest.java:20)

Mur*_*thi 6

您必须使用System.setProperty而不是System.getProperty,如下所示.

System.setProperty("webdriver.gecko.driver",
                "C:\\Selenium WebDriver\\geckodriver\\geckodriver-v0.17.0-win64\\geckodriver.exe");
Run Code Online (Sandbox Code Playgroud)