JAVA:使用GeckoDriver在Linux上运行Selenium测试:驱动程序不可执行
问题描述:
我目前正在使用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)
我怎样才能解决这个问题,并初始化驱动正确吗?
答
从您的异常:
driver is not executable:
使其可执行
chmod +x geckodriver
,然后重试。