Wait for user menu items to become visible before clicking them
Change-Id: I312e63eafa7a92ce05028de3505f37547a0bc139 Closes-Bug: #1574734
This commit is contained in:
parent
f7bed78008
commit
bee35b5f42
@ -124,9 +124,8 @@ class BaseWebObject(unittest.TestCase):
|
|||||||
|
|
||||||
return self._wait_until(predicate, timeout)
|
return self._wait_until(predicate, timeout)
|
||||||
|
|
||||||
def _wait_till_element_visible(self, element, timeout=None):
|
def _wait_till_element_visible(self, locator, timeout=None):
|
||||||
self._wait_until(lambda x: self._is_element_displayed(element),
|
self._wait_until(lambda x: self._is_element_visible(*locator), timeout)
|
||||||
timeout)
|
|
||||||
|
|
||||||
def _wait_till_element_disappears(self, element, timeout=None):
|
def _wait_till_element_disappears(self, element, timeout=None):
|
||||||
self._wait_until(lambda x: not self._is_element_displayed(element),
|
self._wait_until(lambda x: not self._is_element_displayed(element),
|
||||||
|
@ -179,6 +179,7 @@ class NavigationAccordionRegion(baseregion.BaseRegion):
|
|||||||
class DropDownMenuRegion(baseregion.BaseRegion):
|
class DropDownMenuRegion(baseregion.BaseRegion):
|
||||||
"""Drop down menu region."""
|
"""Drop down menu region."""
|
||||||
|
|
||||||
|
_menu_container_locator = (by.By.CSS_SELECTOR, 'ul.dropdown-menu')
|
||||||
_menu_items_locator = (by.By.CSS_SELECTOR,
|
_menu_items_locator = (by.By.CSS_SELECTOR,
|
||||||
'ul.dropdown-menu > li > *')
|
'ul.dropdown-menu > li > *')
|
||||||
_menu_first_child_locator = (by.By.CSS_SELECTOR,
|
_menu_first_child_locator = (by.By.CSS_SELECTOR,
|
||||||
@ -198,6 +199,7 @@ class DropDownMenuRegion(baseregion.BaseRegion):
|
|||||||
"""Opens menu by clicking on the first child of the source element."""
|
"""Opens menu by clicking on the first child of the source element."""
|
||||||
if self.is_open() is False:
|
if self.is_open() is False:
|
||||||
self._get_element(*self._menu_first_child_locator).click()
|
self._get_element(*self._menu_first_child_locator).click()
|
||||||
|
self._wait_till_element_visible(self._menu_container_locator)
|
||||||
|
|
||||||
|
|
||||||
class UserDropDownMenuRegion(DropDownMenuRegion):
|
class UserDropDownMenuRegion(DropDownMenuRegion):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user