我有一些用java编写的selenium测试并使用maven构建。 pom文件包含jbehave和selenium库。它使用firefox浏览器。所以我在linux上安装了firefox并在我的.bashrc中包含了路径。如果我手动进行mvn clean安装,它可以正常工作。
但是如果我尝试使用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的路径。所以我也做了一个导出PATH,其中包含了firefox的新路径,然后在Jenkins中调用了mvn clean install。即使PATH现在在jenkins控制台输出中显示了firefox的路径,它仍然会抛出相同的错误。
我错过了什么?
答案 0 :(得分:1)
要检查的三件事:
1)正如@shawnzhu所说,检查你是否正确安装了firefox?
2)要为驱动程序提供二进制路径,需要设置系统属性。使用以下代码获取selenium with java:
gem search slugify
gem install jekyll-slugify_underscore
3)对于Ubuntu,firefox可执行文件的路径可以是 - File firefoxPathBinary = new File("path/to/your//firefox-bin");
System.setProperty("webdriver.firefox.bin", firefoxPathBinary.getAbsolutePath());
driver = new FirefoxDriver();
,对于Mac,它可以是usr/lib/firefox/firefox-bin
答案 1 :(得分:0)
您可能需要链接可执行文件:
sudo unlink / usr / bin / firefox