2017-10-06 9 views
0

Je travaille actuellement sur un projet d'automatisation de test utilisant Selenium WebDriver sur une machine Linux. (Ubuntu 16.04.3) Les tests peuvent être exécutés sans erreur sur une machine Windows, puisque j'essaie d'exécuter les tests sur une machine virtuelle Linux J'ai rencontré des problèmes critiques lors de l'initialisation de GeckoDriver.JAVA: Exécution de tests Selenium sous Linux avec GeckoDriver: le pilote n'est pas exécutable

Voici une partie de mon code:

System.setProperty("webdriver.gecko.driver", _GECKO_DRIVER); 
WebDriver driver = new FirefoxDriver(); 

La _GECKO_DRIVER variable est le chemin du fichier à un exécutable linux, je l'ai téléchargé à partir de ce miroir: https://github.com/mozilla/geckodriver/releases (dans le dossier de tar.gz)

Malheureusement JAVA ne peut pas initialiser le pilote, si les tests ne peuvent pas être exécutés et il se traduit par erreur suivant:

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) 

Comment puis-je résoudre ce problème et initialiser le pilote correctement?

Répondre

1

À partir de votre exception:

driver is not executable: 

rendre exécutable

chmod +x geckodriver 

et essayez de nouveau.