2017-10-06 122 views
0

我目前正在使用Linux機器上的Selenium WebDriver進行測試自動化項目。 (Ubuntu 16.04.3)測試可以在Windows機器上沒有任何錯誤地執行,因爲我試圖在Linux VM上運行測試,並且在初始化GeckoDriver時遇到了嚴重問題。JAVA:使用GeckoDriver在Linux上運行Selenium測試:驅動程序不可執行

這裏是我的代碼部分:

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

變量_GECKO_DRIVER是文件路徑到Linux的可執行文件,我從這個鏡子下載:https://github.com/mozilla/geckodriver/releases(tar.gz的文件夾中)

不幸的是JAVA無法初始化驅動程序,所以測試不能運行,它會導致以下錯誤:

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) 

我怎樣才能解決這個問題,並初始化驅動正確嗎?

回答

1

從您的異常:

driver is not executable: 

使其可執行

chmod +x geckodriver 

,然後重試。

相關問題