web-dev-qa-db-ja.com

java.lang.IllegalStateException:ドライバー実行可能ファイルへのパスは、webdriver.gecko.driverシステムプロパティで設定する必要があります

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/");

    }

}

エラー

System.getPropertyで以下の例外が発生します

スレッド「メイン」の例外Java.lang.IllegalStateException:ドライバー実行可能ファイルへのパスは、webdriver.gecko.driverシステムプロパティで設定する必要があります。詳細については、 https://github.com/mozilla/geckodriver を参照してください。最新バージョンは、 https://github.com/mozilla/geckodriver/releases at com.google.common.base.Preconditions.checkState(Preconditions.Java:738)atorg.openqaからダウンロードできます。 .Selenium.remote.service.DriverService.findExecutable(DriverService.Java:124)at org.openqa.Selenium.firefox.GeckoDriverService.access $ 100(GeckoDriverService.Java:41)at org.openqa.Selenium.firefox.GeckoDriverService $ Builder。 findDefaultExecutable(GeckoDriverService.Java:115)at org.openqa.Selenium.remote.service.DriverService $ Builder.build(DriverService.Java:330)at org.openqa.Selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.Java:207) org.openqa.Selenium.firefox.FirefoxDriver。(FirefoxDriver.Java:108)at org.openqa.Selenium.firefox.FirefoxDriver。(FirefoxDriver.Java:137)at com.merchantPlatform.MerchantPlatformTest.main(MerchantPlatformTest.Java:20 )

3
nsCelin

次のように、System.getPropertyではなくSystem.setPropertyを使用する必要があります。

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

ブラウザを開くために、間違った構文を使用していることに気づきました。

System.getPropertyを使用する代わりに、以下に説明するようにSystem.setPropertyを使用する必要があります。

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

この問題の詳細については、これを参照してください ページ

1
Jainish Kapadia