diff options
author | tester <test@example.com> | 2016-07-20 12:59:27 +0200 |
---|---|---|
committer | Martin Basti <mbasti@redhat.com> | 2016-08-01 17:07:49 +0200 |
commit | 26803a0d173192ee05878dd47c22a95b4432d078 (patch) | |
tree | 68989c2fe5a8ab9ee8bb82bc35836e8ca6156df6 /ipatests/test_webui | |
parent | a20c04033a437c5531b0ae4781d76738d1f02029 (diff) | |
download | freeipa-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.py | 43 |
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 |