JAVA:运行 使用 GeckoDriver 在 Linux 上进行的 Selenium 测试:驱动程序不可执行
JAVA: Running Selenium Tests on Linux using GeckoDriver: driver is not executable
我目前正在 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.access0(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
然后重试。
我在使用 Java+Eclipse 执行测试时遇到了同样的问题。我在项目工作区下添加了 geckodriver,为了简单起见,只需在 eclipse 中右键单击 geckodriver 并选中 Execute 列(在属性 window 中)下的所有复选框。这将使 geckodriver 可执行(换句话说,您允许可执行访问它)
我目前正在 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.access0(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
然后重试。
我在使用 Java+Eclipse 执行测试时遇到了同样的问题。我在项目工作区下添加了 geckodriver,为了简单起见,只需在 eclipse 中右键单击 geckodriver 并选中 Execute 列(在属性 window 中)下的所有复选框。这将使 geckodriver 可执行(换句话说,您允许可执行访问它)