Bug 980326 - Selenium failure running integration tests
Selenium failure running integration tests
Status: CLOSED CURRENTRELEASE
Product: Beaker
Classification: Community
Component: tests (Show other bugs)
develop
Unspecified Unspecified
unspecified Severity unspecified (vote)
: 19.0
: ---
Assigned To: beaker-dev-list
tools-bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-07-02 01:36 EDT by Nick Coghlan
Modified: 2018-02-05 19:41 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-11-20 01:51:20 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Nick Coghlan 2013-07-02 01:36:56 EDT
Description of problem:

Intermittent issues with talking to Selenium running the test suite, can be made more consistent using the command below.

Version-Release number of selected component (if applicable):

Git clone for beaker

How reproducible: Usually

Steps to Reproduce:

Run the following from the IntegrationTests directory on F18:

./run-tests.sh  bkr.inttest.server.selenium.test_distro_trees:DistroTreeViewTest.test_sort_grid_doesnt_blow_up  bkr.inttest.server.selenium.test_osversions:OSVersionsTest.test_sort_grid_doesnt_blow_up bkr.inttest.server.selenium.test_distro_search:Search.test_sort_grid_doesnt_blow_up

Actual results:

/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py:463: SAWarning: Unicode type received non-unicode bind param value
  param.append(processors[key](compiled_params[key]))

ERROR: bkr.inttest.server.selenium.test_osversions:OSVersionsTest.test_sort_grid_doesnt_blow_up
  vi +16  src/bkr/inttest/server/selenium/test_osversions.py  # setUp
    self.browser = self.get_browser()
  vi +118 src/bkr/inttest/server/selenium/__init__.py  # get_browser
    b = webdriver.Firefox(p)
  vi +61  /usr/lib64/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py  # __init__
    self.binary, timeout),
  vi +47  /usr/lib64/python2.7/site-packages/selenium/webdriver/firefox/extension_connection.py  # __init__
    self.binary.launch_browser(self.profile)
  vi +51  /usr/lib64/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py  # launch_browser
    self._wait_until_connectable()
  vi +90  /usr/lib64/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py  # _wait_until_connectable
    self._get_firefox_output())
WebDriverException: Message: 'The browser appears to have exited before we could connect. The output was: Error: no display specified\n' 
-------------------- >> begin captured logging << --------------------
turbomail.control: INFO: TurboMail extension shutting down.
turbomail.extension.utf8qp: INFO: Configuring UTF-8 character set to use Base-64 encoding.
turbomail.extension.utf8qp: INFO: Configuring UTF-8 character set to use Base-64 encoding.
turbogears.visit: INFO: Visit Tracking shutting down.
--------------------- >> end captured logging << ---------------------

ERROR: bkr.inttest.server.selenium.test_distro_search:Search.test_sort_grid_doesnt_blow_up
  vi +52  src/bkr/inttest/server/selenium/test_distro_search.py  # setUp
    self.browser = self.get_browser()
  vi +118 src/bkr/inttest/server/selenium/__init__.py  # get_browser
    b = webdriver.Firefox(p)
  vi +61  /usr/lib64/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py  # __init__
    self.binary, timeout),
  vi +47  /usr/lib64/python2.7/site-packages/selenium/webdriver/firefox/extension_connection.py  # __init__
    self.binary.launch_browser(self.profile)
  vi +51  /usr/lib64/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py  # launch_browser
    self._wait_until_connectable()
  vi +90  /usr/lib64/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py  # _wait_until_connectable
    self._get_firefox_output())
WebDriverException: Message: 'The browser appears to have exited before we could connect. The output was: Error: no display specified\n' 

3 tests, 0 failures, 2 errors in 34.2s


Expected results:

All tests pass

Additional info:
Comment 1 Dan Callaghan 2013-07-10 03:22:02 EDT
(In reply to Nick Coghlan from comment #0)
> Intermittent issues with talking to Selenium running the test suite,

I assume you are talking about the "could not connect to display" type errors which crop up occasionally? I believe these are Xvfb crashing or otherwise being lame, I've never been able to pin them down to find a reason.

You may also find intermittent errors like "timeout waiting for browser to start" which I believe is Firefox being lame and randomly taking a very long time to create its profile (disk I/O contention? also unsure).

> Run the following from the IntegrationTests directory on F18:
> 
> ./run-tests.sh 
> bkr.inttest.server.selenium.test_distro_trees:DistroTreeViewTest.
> test_sort_grid_doesnt_blow_up 
> bkr.inttest.server.selenium.test_osversions:OSVersionsTest.
> test_sort_grid_doesnt_blow_up
> bkr.inttest.server.selenium.test_distro_search:Search.
> test_sort_grid_doesnt_blow_up
> [...]
> WebDriverException: Message: 'The browser appears to have exited before we
> could connect. The output was: Error: no display specified\n' 

However, *this* error is different ("no display specified"). When you tell nose to run multiple individual tests within the bkr.inttest.server.selenium package, it runs the teardown_package after the first one. A nose bug, perhaps? I have noticed it before but never spent the time to investigate further.
Comment 2 Dan Callaghan 2014-11-20 01:51:20 EST
All outstanding WebDriver flakiness has been addressed now (Selenium 1.0 tests are gone entirely).

Note You need to log in before you can comment on or make changes to this bug.