summaryrefslogtreecommitdiffstats
path: root/ipatests/test_webui
diff options
context:
space:
mode:
authortester <test@example.com>2016-07-20 12:59:27 +0200
committerMartin Basti <mbasti@redhat.com>2016-08-01 17:07:49 +0200
commit26803a0d173192ee05878dd47c22a95b4432d078 (patch)
tree68989c2fe5a8ab9ee8bb82bc35836e8ca6156df6 /ipatests/test_webui
parenta20c04033a437c5531b0ae4781d76738d1f02029 (diff)
downloadfreeipa-26803a0d173192ee05878dd47c22a95b4432d078.tar.gz
freeipa-26803a0d173192ee05878dd47c22a95b4432d078.tar.xz
freeipa-26803a0d173192ee05878dd47c22a95b4432d078.zip
Add possibility to choose parent element by css
Part of: https://fedorahosted.org/freeipa/ticket/6064 Reviewed-By: Lenka Doudova <ldoudova@redhat.com>
Diffstat (limited to 'ipatests/test_webui')
-rw-r--r--ipatests/test_webui/ui_driver.py43
1 files changed, 34 insertions, 9 deletions
diff --git a/ipatests/test_webui/ui_driver.py b/ipatests/test_webui/ui_driver.py
index 7c4ca75ef..f7f990a60 100644
--- a/ipatests/test_webui/ui_driver.py
+++ b/ipatests/test_webui/ui_driver.py
@@ -615,12 +615,17 @@ class UI_driver(object):
s = "a[name='%s'].action-button" % name
self._button_click(s, parent, name)
- def button_click(self, name, parent=None):
+ def button_click(self, name, parent=None,
+ parents_css_sel=None):
"""
Click on .ui-button
"""
if not parent:
- parent = self.get_form()
+ if parents_css_sel:
+ parent = self.find(parents_css_sel, By.CSS_SELECTOR,
+ strict=True)
+ else:
+ parent = self.get_form()
s = "[name='%s'].btn" % name
self._button_click(s, parent, name)
@@ -1413,14 +1418,25 @@ class UI_driver(object):
for key in pkeys:
self.assert_record(key, parent, table_name, negative=True)
- def action_list_action(self, name, confirm=True, confirm_btn="ok"):
+ def action_list_action(self, name, confirm=True, confirm_btn="ok",
+ parents_css_sel=None):
"""
Execute action list action
"""
- cont = self.find(".active-facet .facet-actions", By.CSS_SELECTOR, strict=True)
- expand = self.find(".dropdown-toggle", By.CSS_SELECTOR, cont, strict=True)
+ context = None
+
+ if not parents_css_sel:
+ context = self.find(".active-facet .facet-actions",
+ By.CSS_SELECTOR, strict=True)
+ else:
+ context = self.find(parents_css_sel, By.CSS_SELECTOR,
+ strict=True)
+
+ expand = self.find(".dropdown-toggle", By.CSS_SELECTOR, context,
+ strict=True)
expand.click()
- action_link = self.find("li[data-name=%s] a" % name, By.CSS_SELECTOR, cont, strict=True)
+ action_link = self.find("li[data-name=%s] a" % name, By.CSS_SELECTOR,
+ context, strict=True)
action_link.click()
if confirm:
self.wait(0.5) # wait for dialog
@@ -1739,17 +1755,26 @@ class UI_driver(object):
assert is_enabled == enabled, ('Invalid enabled state of action button %s. '
'Expected: %s') % (action, str(visible))
- def assert_action_list_action(self, action, visible=True, enabled=True, parent=None):
+ def assert_action_list_action(self, action, visible=True, enabled=True,
+ parent=None, parents_css_sel=None,
+ facet_actions=True):
"""
Assert that action dropdown action is visible/hidden, and enabled/disabled
Enabled is checked only if action is visible.
"""
+
+ li_s = " li[data-name='%s']" % action
+
if not parent:
parent = self.get_form()
- s = ".facet-actions li[data-name='%s']" % action
- li = self.find(s, By.CSS_SELECTOR, parent)
+ if facet_actions:
+ li_s = ".facet-actions" + li_s
+ else:
+ li_s = parents_css_sel + li_s
+
+ li = self.find(li_s, By.CSS_SELECTOR, parent)
link = self.find("a", By.CSS_SELECTOR, li)
is_visible = li is not None and link is not None