Ich arbeite derzeit an einem Testautomatisierungsprojekt mit Selenium WebDriver auf einem Linux-Rechner. (Ubuntu 16.04.3) Tests können ohne Fehler auf einem Windows-Rechner ausgeführt werden, da ich versuche, die Tests auf einer Linux-VM auszuführen Ich habe bei der Initialisierung des GeckoDrivers auf kritische Probleme gestoßen.JAVA: Ausführen von Selenium Tests unter Linux mit GeckoDriver: Treiber ist nicht ausführbar
Hier ist ein Teil meines Codes ist:
System.setProperty("webdriver.gecko.driver", _GECKO_DRIVER);
WebDriver driver = new FirefoxDriver();
Die Variable _GECKO_DRIVER ist der Dateipfad zu einer Linux-ausführbaren Datei, die ich von diesem Spiegel heruntergeladen https://github.com/mozilla/geckodriver/releases (innen tar.gz-Ordner)
Leider JAVA ist nicht in der Lage, den Treiber zu initialisieren, so Tests nicht und es ergibt sich folgende Fehler ausgeführt werden kann:
Exception in thread "main" java.lang.IllegalStateException:
The driver is not executable: path/to/repo/./src/main/resources/Driver/GeckoDriver/geckodriver
at com.google.common.base.Preconditions.checkState(Preconditions.java:534)
at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:140)
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:131)
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:329)
at org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:207)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:103)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:99)
Wie ich dieses Problem zu beheben und initialisieren kann die Treiber korrekt?