JAVA:使用GeckoDriver在Linux上运行Selenium测试:驱动程序不可执行

我目前正在
Linux机器上使用Selenium WebDriver进行测试自动化项目. (Ubuntu 16.04.3)测试可以在Windows机器上执行而没有任何错误,因为我试图在Linux VM上运行测试我在初始化GeckoDriver时遇到了严重问题.

这是我的代码的一部分:

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)

如何解决此问题并正确初始化驱动程序?

最佳答案 从你的例外:

driver is not executable: 

让它可执行

chmod +x geckodriver

然后重试.

点赞