2

我有一些用 java 编写并使用 maven 构建的 selenium 测试。pom 文件包括 jbehave 和 selenium 库。它使用火狐浏览器。所以我在 linux 上安装了 firefox 并将路径包含在我的 .bashrc 中。如果我手动执行 mvn clean install ,它工作正常。

但是,如果我使用 Jenkins 尝试同样的事情(我正在尝试自动化测试),它会抛出错误:

[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] null
Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: LINUX
Caused by: org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: LINUX

我尝试在 Jenkins 中对 PATH 进行回显,但没有显示 firefox 的路径。所以我还做了一个导出路径,包含了新的 firefox 路径,然后在 Jenkins 中调用了 mvn clean install。即使 PATH 现在在 jenkins 控制台输出中显示了 firefox 的路径,它仍然会引发相同的错误。

我错过了什么?

4

2 回答 2

2

要检查的三件事:

1)正如@shawnzhu所说,检查你是否正确安装了firefox?

2) 要为您的驱动程序提供二进制路径,您需要设置系统属性。将以下代码用于带有 java 的 selenium:

File firefoxPathBinary = new File("path/to/your//firefox-bin");
System.setProperty("webdriver.firefox.bin", firefoxPathBinary.getAbsolutePath());
driver = new FirefoxDriver();

3) 对于 Ubuntu,您的 firefox 可执行文件的路径可能是 -usr/lib/firefox/firefox-bin对于 Mac,它可能是/Applications/Firefox.app/Contents/MacOS/firefox-bin

于 2016-03-07T23:20:39.473 回答
0

您可能需要链接可执行文件:

sudo unlink /usr/bin/firefox
sudo ln -s /path/to/new/firefox/executable /usr/bin/firefox
于 2014-07-18T09:51:29.713 回答