2017-07-17 7 views
3
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/"); 

    } 

} 

Fehlerjava.lang.IllegalStateException: Der Pfad zum Treiber ausführbar sind vom webdriver.gecko.driver Systemeigenschaft

eingestellt werden

Ich erhalte die unten Ausnahme mit System.getProperty

Exception im Thread "main" java.lang.IllegalStateException: Der Pfad zum ausführbaren Treiber muss durch die Systemeigenschaft webdriver.gecko.driver festgelegt werden; Weitere Informationen finden Sie unter https://github.com/mozilla/geckodriver. Die neueste Version kann heruntergeladen werden von https://github.com/mozilla/geckodriver/releases bei com.google.common.base.Preconditions.checkState (Preconditions.java:738) bei org.openqa.selenium.remote.service.DriverService.findExecutable (DriverService.java:124) bei org.openqa.selenium.firefox.GeckoDriverService.access $ 100 (GeckoDriverService.java:41) bei org.openqa.selenium.firefox.GeckoDriverService $ Builder.findDefaultExecutable (GeckoDriverService.java:115) bei org.openqa. selen.remote.service.DriverService $ Builder.build (DriverService.java:330) bei org.openqa.selenium.firefox.FirefoxDriver.toExecutor (FirefoxDriver.java:207) bei org.openqa.selenium.firefox.FirefoxDriver. (FirefoxDriver.java:108) bei org.openqa.selenium.firefo x.FirefoxDriver. (FirefoxDriver.java:137) bei com.merchantPlatform.MerchantPlatformTest.main (MerchantPlatformTest.java:20)

+0

entfernen Sie die Leerzeichen im Verzeichnisnamen der Webdrivers und versuchen Sie –

Antwort

4

Sie haben System.setProperty nicht die System.getProperty wie folgt zu verwenden.

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

Ich habe festgestellt, dass Sie falsche Syntax verwenden, um den Browser zu öffnen.

Anstatt System.getProperty zu verwenden, müssen Sie System.setProperty wie unten erwähnt verwenden.

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

Für weitere Informationen zu diesem Thema finden Sie diese page.

+0

Danke .. Es war setProperty, funktioniert jetzt gut .. Ich habe versucht, beide Ihre Antworten richtig zu markieren, aber unfähig zu tun .. Obwohl ich eine Menge dafür gesucht Fehler, ich habe den eingestellten Teil verpasst. – nsCelin

Verwandte Themen