URL: https://github.com/freeipa/freeipa/pull/1928 Author: Rezney Title: #1928: [Backport][ipa-4-6] ui_tests: checkbox click fix Action: opened
PR body: """ This PR was opened automatically because PR #1919 was pushed to master and backport to ipa-4-6 is required. """ To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/1928/head:pr1928 git checkout pr1928
From 1ab0ae7826073a8ebdfc43b3aafda6f0650008ee Mon Sep 17 00:00:00 2001 From: Michal Reznik <mrez...@redhat.com> Date: Thu, 10 May 2018 14:35:21 +0200 Subject: [PATCH] ui_tests: checkbox click fix We check a box with clicking on label by default however sometimes when a label is too short (1-2 letters) we are hitting an issue that the checkbox obscures the label. https://pagure.io/freeipa/issue/7547 --- ipatests/test_webui/ui_driver.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ipatests/test_webui/ui_driver.py b/ipatests/test_webui/ui_driver.py index 3e266dc9bf..87ceec6029 100644 --- a/ipatests/test_webui/ui_driver.py +++ b/ipatests/test_webui/ui_driver.py @@ -43,6 +43,7 @@ from selenium.common.exceptions import InvalidElementStateException from selenium.common.exceptions import StaleElementReferenceException from selenium.common.exceptions import WebDriverException + from selenium.common.exceptions import ElementClickInterceptedException from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By @@ -902,15 +903,21 @@ def check_option(self, name, value=None, parent=None): s += "[@value='%s']" % value opts = self.find(s, "xpath", parent, many=True) label = None + checkbox = None # Select only the one which matches exactly the name for o in opts: n = o.get_attribute("name") if n == name or re.match("^%s\d+$" % name, n): s = "label[for='%s']" % o.get_attribute("id") label = self.find(s, By.CSS_SELECTOR, parent, strict=True) + checkbox = o break assert label is not None, "Option not found: %s" % name - label.click() + + try: + label.click() + except ElementClickInterceptedException: + checkbox.click() def select_combobox(self, name, value, parent=None, combobox_input=None): """
_______________________________________________ FreeIPA-devel mailing list -- freeipa-devel@lists.fedorahosted.org To unsubscribe send an email to freeipa-devel-le...@lists.fedorahosted.org