简体   繁体   中英

Jenkins and Seleniumhq configuration

I'm trying to set up a simple Selenium test in Jenkins. My OS is Debian GNU/Linux 6.0.7 (squeeze), desktop version (64-bit). I uninstalled the supplied browser iceweasel and intalled Firefox with aptitude. The firefox version is "20.0". I also have Google Chrome installed. I can run Firefox by writing "firefox" in a terminal window. Jenkins is installed with aptitude.

So, I have installed a plugin in Jenkins called Seleniumhq. These are my settings:

在此输入图像描述

I then receive an error in the Jenkins console when I try to build:

Started by user anonymous
Building in workspace /var/lib/jenkins/workspace/selenium2
java -jar /var/lib/jenkins/selenium-server-standalone-2.0b2.jar -trustAllSSLCertificates      -htmlSuite *firefox http://site.com /var/lib/jenkins/jobs/Selenium1/suites/suite1.html   /var/lib/jenkins/jobs/Selenium1/logs/selenium.html
[selenium2] $ java -jar /var/lib/jenkins/selenium-server-standalone-2.0b2.jar -   trustAllSSLCertificates -htmlSuite *firefox http://site.com      /var/lib/jenkins/jobs/Selenium1/suites/suite1.html    /var/lib/jenkins/jobs/Selenium1/logs/selenium.html
 13:32:18.507 INFO - Java: Sun Microsystems Inc. 14.0-b16
 13:32:18.508 INFO - OS: Linux 2.6.32-5-amd64 amd64
 13:32:18.512 INFO - v2.0 [b2], with Core v2.0 [b2]
 13:32:18.604 INFO - RemoteWebDriver instances should connect to:      http://127.0.0.1:4444/wd/hub
 13:32:18.605 INFO - Version Jetty/5.1.x
13:32:18.606 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
13:32:18.606 INFO - Started HttpContext[/selenium-server,/selenium-server]
13:32:18.607 INFO - Started HttpContext[/,/]
13:32:18.616 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@488e32e7
13:32:18.616 INFO - Started HttpContext[/wd,/wd]
13:32:18.621 INFO - Started SocketListener on 0.0.0.0:4444
13:32:18.621 INFO - Started org.openqa.jetty.jetty.Server@5a5e5a50
HTML suite exception seen:
java.lang.RuntimeException: java.lang.RuntimeException: Firefox 3 could not be found in    the path!
Please add the directory containing ''firefox-bin' or 'firefox'' to your PATH   environment
 variable, or explicitly specify a path to Firefox 3 like this:
*firefox3/blah/blah/firefox-bin
at    org.openqa.selenium.server.browserlaunchers.BrowserLauncherFactory.createBrowserLauncher(Bro wserLauncherFactory.java:160)
at  org.openqa.selenium.server.browserlaunchers.BrowserLauncherFactory.getBrowserLauncher(Browse rLauncherFactory.java:99)
at    org.openqa.selenium.server.htmlrunner.HTMLLauncher.getBrowserLauncher(HTMLLauncher.java:58)
at org.openqa.selenium.server.htmlrunner.HTMLLauncher.runHTMLSuite(HTMLLauncher.java:114)
at org.openqa.selenium.server.htmlrunner.HTMLLauncher.runHTMLSuite(HTMLLauncher.java:166)
at org.openqa.selenium.server.SeleniumServer.runHtmlSuite(SeleniumServer.java:557)
at org.openqa.selenium.server.SeleniumServer.boot(SeleniumServer.java:250)
at org.openqa.selenium.server.SeleniumServer.main(SeleniumServer.java:210)
  Caused by: java.lang.RuntimeException: Firefox 3 could not be found in the path!
  Please add the directory containing ''firefox-bin' or 'firefox'' to your PATH environment
  variable, or explicitly specify a path to Firefox 3 like this:
 *firefox3/blah/blah/firefox-bin
at org.openqa.selenium.browserlaunchers.locators.Firefox2or3Locator.findBrowserLocationOrFail(Firefox2or3Locator.java:26)
at org.openqa.selenium.server.browserlaunchers.BrowserInstallationCache.locateBrowserInstallation(BrowserInstallationCache.java:27)
at org.openqa.selenium.server.browserlaunchers.FirefoxLauncher.<init>(FirefoxLauncher.java:52)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at org.openqa.selenium.server.browserlaunchers.BrowserLauncherFactory.createBrowserLauncher(BrowserLauncherFactory.java:153)
... 7 more
 Finished: SUCCESS

I also tried to put this in the browser field: *firefox/usr/bin/firefox I think firefox is installed there (i ran "locate firefox"). That config renders another error msg:

...
HTML suite exception seen:
java.lang.RuntimeException: Browser not supported: *firefox/usr/bin/firefox

Supported browsers include:
*firefox
*mock
*firefoxproxy
*pifirefox
*chrome
*iexploreproxy
*iexplore
*firefox3
*safariproxy
*googlechrome
*konqueror
*firefox2
*safari
*piiexplore
*firefoxchrome
*opera
*iehta
*custom 
....

Does anybody have ideas about how to fix this? Thanks!

Edit

I changed the browser settings to this: *firefox /opt/firefox/firefox (with a space between) Now it seems FIrefox can be found, but I receive another error:

 Started by user anonymous
 Building in workspace /var/lib/jenkins/workspace/selenium2
 java -jar /var/lib/jenkins/selenium-server-standalone-2.0b2.jar -trustAllSSLCertificates -htmlSuite *firefox /opt/firefox/firefox http://site.com   /var/lib/jenkins/jobs/selenium2/suites/suite1.html   /var/lib/jenkins/jobs/selenium2/logs/selenium.html
 [selenium2] $ java -jar /var/lib/jenkins/selenium-server-standalone-2.0b2.jar -    trustAllSSLCertificates -htmlSuite "*firefox /opt/firefox/firefox" http://site.com  /var/lib/jenkins/jobs/selenium2/suites/suite1.html  /var/lib/jenkins/jobs/selenium2/logs/selenium.html
 10:51:15.567 INFO - Java: Sun Microsystems Inc. 14.0-b16
 10:51:15.569 INFO - OS: Linux 2.6.32-5-amd64 amd64
 10:51:15.572 INFO - v2.0 [b2], with Core v2.0 [b2]
 10:51:15.668 INFO - RemoteWebDriver instances should connect to:     http: //127.0.0.1:4444/wd/hub
 10:51:15.669 INFO - Version Jetty/5.1.x
 10:51:15.669 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
 10:51:15.670 INFO - Started HttpContext[/selenium-server,/selenium-server]
 10:51:15.670 INFO - Started HttpContext[/,/]
 10:51:15.680 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@3da99561
 10:51:15.680 INFO - Started HttpContext[/wd,/wd]
 10:51:15.685 INFO - Started SocketListener on 0.0.0.0:4444
 10:51:15.685 INFO - Started org.openqa.jetty.jetty.Server@182d9c06
 10:51:15.743 INFO - Preparing Firefox profile...
HTML suite exception seen:
 java.lang.NullPointerException
at org.openqa.selenium.os.CommandLine.destroy(CommandLine.java:259)
at  org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.populateCustomProfileDirec tory(FirefoxChromeLauncher.java:117)
at  org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.launch(FirefoxChromeLauncher.java:84)
at org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.launchHTMLSuite(FirefoxChromeLauncher.java:406)
at org.openqa.selenium.server.browserlaunchers.FirefoxLauncher.launchHTMLSuite(FirefoxLauncher.java:106)
at  org.openqa.selenium.server.htmlrunner.HTMLLauncher.runHTMLSuite(HTMLLauncher.java:121)
at org.openqa.selenium.server.htmlrunner.HTMLLauncher.runHTMLSuite(HTMLLauncher.java:166)
at org.openqa.selenium.server.SeleniumServer.runHtmlSuite(SeleniumServer.java:557)
at org.openqa.selenium.server.SeleniumServer.boot(SeleniumServer.java:250)
at org.openqa.selenium.server.SeleniumServer.main(SeleniumServer.java:210)
  10:51:35.789 INFO - Shutting down...
  Finished: SUCCESS

Well, I found a good tutorial that turned out to be useful. One important thing is to start a virtual X window on a server where Selenium can start the browser in to run your tests (Xvfb). And in Jenkins the server should be entered just like "*firefox".

http://alex.nederlof.com/blog/2012/11/19/installing-selenium-with-jenkins-on-ubuntu/

You should try to run the commandline from a shell and see what happen. It's certainly a problem linked to the default profile used by the firefox instanciated by selenium.

In my case the problem was that firefox was starting by displaying the tabs that could be restored.

You can also try to create a specific profile : firefox -p or firefox -ProfileManager

then use this dedicated profile using command line parameter :
-firefoxProfileTemplate /home/userXXX/.mozilla/firefox/ljhyckqd.Selenium

java.lang.RuntimeException: Browser not supported: *firefox/usr/bin/firefox

Wrong syntax. try *firefox or *firefox [insert directory]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM