从Jenkins运行selenium测试-找不到firefox
我有一些用java编写并使用maven构建的selenium测试。pom文件包括jbehave和selenium库。它使用firefox浏览器。因此,我在linux上安装了firefox,并将路径包含在我的.bashrc中。如果我手动执行mvn清理安装,它可以正常工作 但是如果我使用Jenkins尝试同样的事情(我正在尝试自动化测试),它会抛出错误:从Jenkins运行selenium测试-找不到firefox,selenium,jenkins,Selenium,Jenkins,我有一些用java编写并使用maven构建的selenium测试。pom文件包括jbehave和selenium库。它使用firefox浏览器。因此,我在linux上安装了firefox,并将路径包含在我的.bashrc中。如果我手动执行mvn清理安装,它可以正常工作 但是如果我使用Jenkins尝试同样的事情(我正在尝试自动化测试),它会抛出错误: [ERROR] FATAL ERROR [INFO] ----------------------------------------------
[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中做了一个路径回音,但它没有显示firefox的路径。因此,我还做了一个导出路径,包含了firefox的新路径,然后在Jenkins中称为mvn clean install。即使该路径现在在jenkins控制台输出中显示了firefox的路径,它仍然抛出相同的错误
我缺少什么?您可能需要链接可执行文件: sudo取消链接/usr/bin/firefox
sudo ln-s/path/to/new/firefox/executable/usr/bin/firefox需要检查三件事: 1) 正如@shawnzhu所说,检查您是否正确安装了firefox 2) 要提供驱动程序的二进制路径,需要设置系统属性。将以下代码用于selenium with java:
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
您安装了哪台机器(linux/windows)?如果是linux,您是否运行了xvfb/xvnc?您是否介意通过命令检查您的firefox安装?它应该是/usr/bin/firefox
,或者您需要将您的firefox路径附加到环境变量path中。例如:export PATH=$PATH:/usr/local/bin
@amey:我在centos上运行这个。我没有运行xvfb/xvnc。我不需要它们。请注意,我可以通过mvn clean install手动运行此命令。我只是不能通过詹金斯做到这一点。@shwanzhu:我已经在我的home目录中安装了firefox。我还在my.bashrcI中导出了PATH=$PATH:/PATH/of/home/dir/firefox,并在/usr/bin中重新安装了firefox,解决了这个问题。谢谢你的提示