Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Bamboo-Selenium RC-Xvfb intregation on headless server

David Ferguson November 27, 2011

Hi Folks,

I'm in the process of integrating Selenium RC and Xvfb with Bamboo. I can succesfully run firefox on the command line using Xvfb's virtual display, launching www.example.com and capturing a screen shot. However, Selenium hangs when trying to create a new browser session.

If you can understand the problem based on the logs below, great. If not, I would appreciate suggestions for resources to check. Thanks so much!

Selenium log excerpt:

11:05:33.816 INFO [12] org.openqa.selenium.server.SeleniumDriverResourceHandler - Command request: getNewBrowserSession[*firefox /usr/lib/iceweasel/firefox-bin, https://revenuewire.cc/] on session null
11:05:33.816 INFO [12] org.openqa.selenium.server.BrowserSessionFactory - creating new remote session
11:05:33.817 DEBUG [12] org.openqa.selenium.server.browserlaunchers.BrowserLauncherFactory - Requested browser string '*firefox /usr/lib/iceweasel/firefox-bin' matches *firefox
11:05:33.817 INFO [12] org.openqa.selenium.server.BrowserSessionFactory - Allocated session 7280ce26d52c4875ba246a8ce8a47a9a for https://revenuewire.cc/, launching...
11:05:33.817 DEBUG [12] org.openqa.selenium.server.browserlaunchers.ResourceExtractor - Extracting /customProfileDirCUSTFFCHROME to /tmp/customProfileDir7280ce26d52c4875ba246a8ce8a47a9a
11:05:33.840 INFO [12] org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher - Preparing Firefox profile...
11:05:53.865 ERROR [12] org.openqa.selenium.server.BrowserSessionFactory - Failed to start new browser session, shutdown browser and clear all session data
java.lang.RuntimeException: Timed out waiting for profile to be created!
at org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.waitForFullProfileToBeCreated(FirefoxChromeLauncher.java:364)
at org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.populateCustomProfileDirectory(FirefoxChromeLauncher.java:120)
at org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.launch(FirefoxChromeLauncher.java:90)
at org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.launchRemoteSession(FirefoxChromeLauncher.java:416)
at org.openqa.selenium.server.browserlaunchers.FirefoxLauncher.launchRemoteSession(FirefoxLauncher.java:118)
at org.openqa.selenium.server.BrowserSessionFactory.createNewRemoteSession(BrowserSessionFactory.java:374)
at org.openqa.selenium.server.BrowserSessionFactory.getNewBrowserSession(BrowserSessionFactory.java:125)
at org.openqa.selenium.server.BrowserSessionFactory.getNewBrowserSession(BrowserSessionFactory.java:86)
at org.openqa.selenium.server.SeleniumDriverResourceHandler.getNewBrowserSession(SeleniumDriverResourceHandler.java:809)
at org.openqa.selenium.server.SeleniumDriverResourceHandler.doCommand(SeleniumDriverResourceHandler.java:435)
at org.openqa.selenium.server.SeleniumDriverResourceHandler.handleCommandRequest(SeleniumDriverResourceHandler.java:405)
at org.openqa.selenium.server.SeleniumDriverResourceHandler.handle(SeleniumDriverResourceHandler.java:149)
at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1530)
at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1482)
at org.openqa.jetty.http.HttpServer.service(HttpServer.java:909)
at org.openqa.jetty.http.HttpConnection.service(HttpConnection.java:820)
at org.openqa.jetty.http.HttpConnection.handleNext(HttpConnection.java:986)
at org.openqa.jetty.http.HttpConnection.handle(HttpConnection.java:837)
at org.openqa.jetty.http.SocketListener.handleConnection(SocketListener.java:243)
at org.openqa.jetty.util.ThreadedServer.handle(ThreadedServer.java:357)
at org.openqa.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
11:05:53.868 DEBUG [12] org.openqa.selenium.server.FrameGroupCommandQueueSet - clearing queue set
11:05:53.868 INFO [12] org.openqa.selenium.server.SeleniumDriverResourceHandler - Got result: Failed to start new browser session: Error while launching browser on session null
11:05:53.868 DEBUG [12] org.openqa.jetty.http.HttpContext - Handled by org.openqa.selenium.server.SeleniumDriverResourceHandler in HttpContext[/selenium-server,/selenium-server]
11:05:53.868 DEBUG [12] org.openqa.jetty.http.HttpConnection - RESPONSE:
HTTP/1.1 200 OK
Date: Mon, 28 Nov 2011 19:05:33 GMT
Server: Jetty/5.1.x (Linux/2.6.35.14-revenuewire amd64 java/1.6.0_26
Cache-Control: no-cache
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Type: text/plain
Content-Length: 66

Bamboo log excerpt:

28-Nov-2011 11:05:33 selenium:
28-Nov-2011 11:05:33 [exec] PHPUnit 3.6.3 by Sebastian Bergmann.
28-Nov-2011 11:05:33 [exec]
28-Nov-2011 11:05:33 [exec] Configuration read from /mnt/data/atlassian/Bamboo/xml-data/build-dir/LEGPRO-CIANT-JOB1/test-suite.revenuewire.com/Bamboo/selenium_config.xml
28-Nov-2011 11:05:33 [exec]
28-Nov-2011 11:05:53 [exec] E
28-Nov-2011 11:05:53 [exec]
28-Nov-2011 11:05:53 [exec] Time: 20 seconds, Memory: 6.00Mb
28-Nov-2011 11:05:53 [exec]
28-Nov-2011 11:05:53 [exec] There was 1 error:
28-Nov-2011 11:05:53 [exec]
28-Nov-2011 11:05:53 [exec] 1) Example::testMyTestCase
28-Nov-2011 11:05:53 [exec] PHPUnit_Framework_Exception: Result is neither "true" nor "false": 'OR Server Exception: sessionId led to start new browser session: Error while launching browser doesn't exist; perhaps this session was already stopped?'
28-Nov-2011 11:05:53 [exec]
28-Nov-2011 11:05:53 [exec] /mnt/data/atlassian/Bamboo/xml-data/build-dir/LEGPRO-CIANT-JOB1/test-suite.revenuewire.com/selenium/PHPUnit/LoginFirefoxTest.php:24
28-Nov-2011 11:05:53 [exec] /mnt/data/atlassian/Bamboo/xml-data/build-dir/LEGPRO-CIANT-JOB1/test-suite.revenuewire.com/selenium/PHPUnit/LoginFirefoxTest.php:24
28-Nov-2011 11:05:53 [exec] /usr/bin/phpunit:44
28-Nov-2011 11:05:53 [exec]
28-Nov-2011 11:05:53 [exec] FAILURES!
28-Nov-2011 11:05:53 [exec] Tests: 1, Assertions: 0, Errors: 1.
28-Nov-2011 11:05:53 [exec]
28-Nov-2011 11:05:53 [exec] Writing code coverage data to XML file, this may take a moment.
28-Nov-2011 11:05:53 [exec]
28-Nov-2011 11:05:53 [exec] Generating code coverage report, this may take a moment.
28-Nov-2011 11:05:53 [exec] Result: 2

1 answer

0 votes
James Dumay
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 28, 2011

How are you launching xvfb and Firefox? Is it a script or are you using different Tasks (one to launch xvfb and one to launch Firefox?).

David Ferguson November 28, 2011

Hi James. Thanks for taking the time.

Xvfb is being launched manually by user A prior to running the bamboo build. The build is then trigerred and executes under user B. During the build, firefox is launched by Selenium.

My suspicion is that this problem is strictly down to selenium. When run from the command line Firefox gives a pretty explicit error when no display is detected, and this error seems entirely different - it hangs when interacting with firefox's profile manager. Other people have had this problem, but none of the root causes apply to me:

-Unsupported version of firefox doesn't apply, as the config files in my version of Selenium list 10.0 as the max version

-I call the firefox binary directly, as Selenium prefers

-Selenium can correctly locate Firefox's application.ini

Luciana Silva May 15, 2014

Hi David,

I m facing a similar problem, and I was wondering if you, or James found a solution for the problem you disscussed about.

During my build, firefox is launched by Selenium, Right? I found out that the elastic instance that has been built uses firefox 23.0.1 and Selenium 2.35.0.

When I run my plan, the error I get in my log is

15-May-2014 16:06:19 1) TesteGoogle::testSave
15-May-2014 16:06:19 UnhandledWebDriverError:
15-May-2014 16:06:19
15-May-2014 16:06:19 /mnt/bamboo-ebs/bamboo-agent/build-dir/SYS-CI-JOB1/Library/php-webdriver-master/lib/WebDriverExceptions.php:61
15-May-2014 16:06:19 /mnt/bamboo-ebs/bamboo-agent/build-dir/SYS-CI-JOB1/Library/php-webdriver-master/lib/remote/HttpCommandExecutor.php:246
15-May-2014 16:06:19 /mnt/bamboo-ebs/bamboo-agent/build-dir/SYS-CI-JOB1/Library/php-webdriver-master/lib/remote/HttpCommandExecutor.php:147
15-May-2014 16:06:19 /mnt/bamboo-ebs/bamboo-agent/build-dir/SYS-CI-JOB1/Library/php-webdriver-master/lib/remote/RemoteWebDriver.php:33
15-May-2014 16:06:19 /mnt/bamboo-ebs/bamboo-agent/build-dir/SYS-CI-JOB1/Test/TesteGoogle.php:17
15-May-2014 16:06:19
15-May-2014 16:06:19 FAILURES!
15-May-2014 16:06:19 Tests: 1, Assertions: 0, Errors: 1.

Can you give me some tips... to debug and find this error!!!!!

Thank you in advance,

Luciana


By the way... on that file, line 17... that s what I ve got:

$this->driver = new RemoteWebDriver($host, $capabilities);

Wich has been built with:

// the endpoint of the Selenium Standalone Server

$host = 'http://localhost:4444/wd/hub'; // this is the default

// edit the capability, choose firefox as the browser

$capabilities = array(WebDriverCapabilityType::BROWSER_NAME => 'firefox');

Works fine in my machine.. but my selenium version is newer and so my firefox version!

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events