summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Misnyovszki <amisnyov@redhat.com>2014-05-07 14:30:29 +0200
committerPetr Vobornik <pvoborni@redhat.com>2014-05-12 13:35:56 +0200
commit5b12367ca85153441c7d0466545bbdbd00a86927 (patch)
tree42d0fd86625eb5c7ec2cb5278f49dafaf4d92497
parent491f431107ca91bd2e993319d4cd164baf16eec3 (diff)
downloadfreeipa-5b12367ca85153441c7d0466545bbdbd00a86927.tar.gz
freeipa-5b12367ca85153441c7d0466545bbdbd00a86927.tar.xz
freeipa-5b12367ca85153441c7d0466545bbdbd00a86927.zip
webui tests: callback, assert_disabled feature added
Added a callback feature to webui tests, to extend functionality. Also added assert_disabled function to ui_driver, to check if a field is disabled in the browser. Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
-rw-r--r--ipatests/test_webui/ui_driver.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/ipatests/test_webui/ui_driver.py b/ipatests/test_webui/ui_driver.py
index 7cfe21ad8..ce63d570e 100644
--- a/ipatests/test_webui/ui_driver.py
+++ b/ipatests/test_webui/ui_driver.py
@@ -1000,7 +1000,7 @@ class UI_driver(object):
key = field[1]
val = field[2]
- if undo:
+ if undo and not hasattr(key, '__call__'):
self.assert_undo_button(key, False, parent)
if widget_type == 'textbox':
@@ -1025,8 +1025,13 @@ class UI_driver(object):
self.fill_multivalued(key, val, parent)
elif widget_type == 'table':
self.select_record(val, parent, key)
+ # this meta field specifies a function, to extend functionality of
+ # field checking
+ elif widget_type == 'callback':
+ if hasattr(key, '__call__'):
+ key(val)
self.wait()
- if undo:
+ if undo and not hasattr(key, '__call__'):
self.assert_undo_button(key, True, parent)
def validate_fields(self, fields, parent=None):
@@ -1551,6 +1556,19 @@ class UI_driver(object):
else:
assert visible, "Element not visible: %s" % selector
+ def assert_disabled(self, selector, parent=None, negative=False):
+ """
+ Assert that element defined by selector is disabled
+ """
+ if not parent:
+ parent = self.get_form()
+ el = self.find(selector, By.CSS_SELECTOR, parent, strict=True)
+ dis = self.find(selector+"[disabled]", By.CSS_SELECTOR, parent)
+ if negative:
+ assert dis is None, "Element is disabled: %s" % selector
+ else:
+ assert dis, "Element is not disabled: %s" % selector
+
def assert_record(self, pkey, parent=None, table_name=None, negative=False):
"""
Assert that record is in current search table