All integration tests fails on both log_out action in teardown and navigation between pages

Bug #1399268 reported by Daniel Korn
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Dashboard (Horizon)
Fix Released
High
Tomáš Nováčik

Bug Description

All tests in gate-horizon-dsvm-integration are currently failing.

From a first look at the logs it seems they fail on two actions:

1. trying to perform log out. we already had this problem (https://bugs.launchpad.net/horizon/+bug/1391890) and it was fixed in https://review.openstack.org/#/c/135273/. I'm not sure what causing this fail again.

2. trying to navigate to a different page. the first guess was that a patch that changed the sidebar layout caused it (https://review.openstack.org/#/c/126289/), but it passed the gate.

----------------------------------------------------------------------------( 1 )-----------------------------------------------------------------------------------
======================================================================
ERROR: openstack_dashboard.test.integration_tests.tests.test_keypair.TestKeypair.test_keypair
----------------------------------------------------------------------
_StringException: traceback-1: {{{
Traceback (most recent call last):
 File "/opt/stack/new/horizon/openstack_dashboard/test/integration_tests/helpers.py", line 65, in tearDown
  self.home_pg.log_out()
 File "/opt/stack/new/horizon/openstack_dashboard/test/integration_tests/pages/basepage.py", line 59, in log_out
  self.topbar.user_dropdown_menu.click_on_logout()
 File "/opt/stack/new/horizon/openstack_dashboard/test/integration_tests/regions/menus.py", line 183, in click_on_logout
  self.logout_link.click()
 File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 65, in click
  self._execute(Command.CLICK_ELEMENT)
 File "/opt/stack/new/horizon/openstack_dashboard/test/integration_tests/webdriver.py", line 105, in _execute
  params)
 File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 385, in _execute
  return self._parent.execute(command, params)
 File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 173, in execute
  self.error_handler.check_response(response)
 File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 166, in check_response
  raise exception_class(message, screen, stacktrace)
 ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with
 Stacktrace:
  at fxdriver.preconditions.visible (file:///<email address hidden>/components/command-processor.js:8959:12)
  at DelayedCommand.prototype.checkPreconditions_ (file:///<email address hidden>/components/command-processor.js:11618:15)
  at DelayedCommand.prototype.executeInternal_/h (file:///<email address hidden>/components/command-processor.js:11635:11)
  at fxdriver.Timer.prototype.setTimeout/<.notify (file:///<email address hidden>/components/command-processor.js:548:5)

----------------------------------------------------------------------------( 2 )-----------------------------------------------------------------------------------

Traceback (most recent call last):
 File "/opt/stack/new/horizon/openstack_dashboard/test/integration_tests/tests/test_keypair.py", line 26, in test_keypair
  keypair_page = self.home_pg.go_to_accessandsecurity_keypairspage()
 File "/opt/stack/new/horizon/openstack_dashboard/test/integration_tests/pages/navigation.py", line 268, in __call__
  return Navigation._go_to_page(args[0], self.path, self.page_class)
 File "/opt/stack/new/horizon/openstack_dashboard/test/integration_tests/pages/navigation.py", line 204, in _go_to_page
  self._go_to_side_menu_page(path[:self.SIDE_MENU_MAX_LEVEL])
 File "/opt/stack/new/horizon/openstack_dashboard/test/integration_tests/pages/navigation.py", line 224, in _go_to_side_menu_page
  self.navaccordion.click_on_menu_items(*menu_items)
 File "/opt/stack/new/horizon/openstack_dashboard/test/integration_tests/regions/menus.py", line 116, in click_on_menu_items
  self.get_first_level_selected_item)
 File "/opt/stack/new/horizon/openstack_dashboard/test/integration_tests/regions/menus.py", line 97, in _click_menu_item
  self._click_item(text, loc_craft_func)
 File "/opt/stack/new/horizon/openstack_dashboard/test/integration_tests/regions/menus.py", line 107, in _click_item
  item = self._get_element(*item_locator)
 File "/opt/stack/new/horizon/openstack_dashboard/test/integration_tests/regions/baseregion.py", line 91, in _get_element
  return self.src_elem.find_element(*locator)
 File "/opt/stack/new/horizon/openstack_dashboard/test/integration_tests/webdriver.py", line 29, in find_element
  web_el = super(WrapperFindOverride, self).find_element(by, value)
 File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 662, in find_element
  {'using': by, 'value': value})['value']
 File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 173, in execute
  self.error_handler.check_response(response)
 File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 166, in check_response
  raise exception_class(message, screen, stacktrace)
 NoSuchElementException: Message: Unable to locate element: {"method":"xpath","selector":"//dt/div[text()='Project']"}
 Stacktrace:
  at FirefoxDriver.prototype.findElementInternal_ (file:///<email address hidden>/components/driver-component.js:9641:26)
  at fxdriver.Timer.prototype.setTimeout/<.notify (file:///<email address hidden>/components/driver-component.js:548:5)

Daniel Korn (dkorn)
tags: added: gate-horizon-dsvm-integration integration-tests
Revision history for this message
Jiri Tomasek (jtomasek) wrote :

Issue is caused by this patch https://review.openstack.org/#/c/109299/ as it removes clicking on user dropdown first before clicking on logout link

Revision history for this message
Jiri Tomasek (jtomasek) wrote :

All the Errors here http://logs.openstack.org/19/113519/25/check/gate-horizon-dsvm-integration/8b35a06/console.html are cause by element not being visible when trying to interact with it. As the topbar menus don't get clicked before clicking the link contained in the dropdowns. All caused by the patch mentioned previously ^

Revision history for this message
Tomáš Nováčik (tnovacik-6) wrote :

I tried running tests on my env (newly cloned devstack) and everything passed, also tests passed on the gate with the patch (as they were run before the test was merged) - if you checkout the code you find out that clicking on the dropdown was not removed - just moved to the open method (https://review.openstack.org/#/c/109299/33/openstack_dashboard/test/integration_tests/regions/menus.py <- line 59).

I think that this is caused by firefox/selenium update. I am using firefox-33.1-2 and selenium 2.44.0

Revision history for this message
Tomáš Nováčik (tnovacik-6) wrote :

Meanwhile on the gate is firefox-34.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to horizon (master)

Fix proposed to branch: master
Review: https://review.openstack.org/139246

Changed in horizon:
assignee: nobody → Tomáš Nováčik (tnovacik-6)
status: New → In Progress
Julie Pichon (jpichon)
Changed in horizon:
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to horizon (master)

Reviewed: https://review.openstack.org/139246
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=34e959e006283f8a37c294ab39fe70666293fe06
Submitter: Jenkins
Branch: master

commit 34e959e006283f8a37c294ab39fe70666293fe06
Author: Tomáš Nováčik <email address hidden>
Date: Thu Dec 4 23:48:14 2014 +0100

    Fix dropdown menu does not open with firefox 34

    Firefox update changed behaviour of the selenium tests, it is not
    enough to click on the div representing dropdown menu region,
    one must click on the first child (which is now button, but i suppose
    it can change over time to input or anything else) in order to open the
    dropdown menu.

    Closes-Bug: #1399268
    Partially implements blueprint: selenium-integration-testing

    Change-Id: If9aed4b547f843d16ba729f84cb2c02acb2a0a4d

Changed in horizon:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in horizon:
milestone: none → kilo-1
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in horizon:
milestone: kilo-1 → 2015.1.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.