contextClick() 不适用于 IEWebDriver
contextClick() is not working with IEWebDriver
在我的测试用例中,我使用的是 contextClick()。在 Chrome 和 Firefox 中运行良好。但在 Internet Explorer 中不执行任何操作。日志中没有显示错误消息。
os = Windows 10 64 位
katalon版本=6.3.3.11
InternetExplorerDriver 服务器(64 位)3.150.0.0
即版本 = 11.0.140
能力
2019-09-10 12:07:29.425 INFO c.k.k.core.webui.driver.DriverFactory - Starting 'IE' driver
2019-09-10 12:07:29.432 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['nativeEvents', 'false']
2019-09-10 12:07:29.433 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['handlesAlerts', 'true']
2019-09-10 12:07:29.434 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['enablePersistentHover', 'false']
2019-09-10 12:07:29.435 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['requireWindowFocus', 'true']
2019-09-10 12:07:29.436 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['javascriptEnabled', 'true']
2019-09-10 12:07:29.437 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['cssSelectorsEnabled', 'true']
2019-09-10 12:07:29.438 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['enable_element_cache_cleanup', 'true']
2019-09-10 12:07:29.439 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['ie_ensure_clean_session', 'true']
2019-09-10 12:07:29.439 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['window-size', '[1920, 1080]']
2019-09-10 12:07:29.439 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['requireWindowFocus ', 'true']
第一种方法:
Actions action = new Actions(driver)
WebElement testFolder = CustomKeywords.'com.cartago.katalon.keywords.ElementUtil.getElementByClassAndText'('x-tree3-el', GlobalVariable.SeleniumTestFolder)
action.click(testFolder).build().perform() //OK
action.contextClick(testFolder).build().perform() //NOK
第二种方法:
TestObject to = CustomKeywords.'com.cartago.katalon.objects.TestObjects.fromElement'(testFolder)
WebUI.rightClick(to) //NOK
在这两种情况下,WebElement 和 TestObject 都由 WebDriver 找到。
日志:
2019-09-10 10:38:55.345 DEBUG testcase.ConvertWebElement - 7: rootFolder = com.cartago.katalon.keywords.ElementUtil.getElementByClassAndText("x-tree3-node", "root")
2019-09-10 10:38:56.393 INFO k.k.c.m.CustomKeywordDelegatingMetaClass - com.cartago.katalon.keywords.ElementUtil.getElementByClassAndText is PASSED
2019-09-10 10:38:56.394 DEBUG testcase.ConvertWebElement - 8: to = com.cartago.katalon.objects.TestObjects.fromElement(rootFolder)
2019-09-10 10:38:56.538 INFO k.k.c.m.CustomKeywordDelegatingMetaClass - com.cartago.katalon.objects.TestObjects.fromElement is PASSED
2019-09-10 10:38:56.539 DEBUG testcase.ConvertWebElement - 9: doubleClick(to)
2019-09-10 10:38:58.010 DEBUG testcase.ConvertWebElement - 10: delay(delayShort)
2019-09-10 10:38:59.021 DEBUG testcase.ConvertWebElement - 11: testFolder = com.cartago.katalon.keywords.ElementUtil.getElementByClassAndText("x-tree3-el", SeleniumTestFolder)
2019-09-10 10:39:00.800 INFO k.k.c.m.CustomKeywordDelegatingMetaClass - com.cartago.katalon.keywords.ElementUtil.getElementByClassAndText is PASSED
2019-09-10 10:39:00.801 DEBUG testcase.ConvertWebElement - 12: to2 = com.cartago.katalon.objects.TestObjects.fromElement(testFolder)
2019-09-10 10:39:00.927 INFO k.k.c.m.CustomKeywordDelegatingMetaClass - com.cartago.katalon.objects.TestObjects.fromElement is PASSED
2019-09-10 10:39:00.927 DEBUG testcase.ConvertWebElement - 13: contextClick(testFolder).perform()
如果有人能给出解决这个问题的建议就太好了。
尝试以下步骤:
第 1 步:下载此文件:https://download.microsoft.com/download/3/4/2/342316D7-EBE0-4F10-ABA2-AE8E0CDF36DD/MicrosoftWebDriver
第二步:下载后,copy/replace放入Katalon Studio文件夹的edge driver中,例如:C:\6.2\Katalon Studio Windows 64\configuration\resources\drivers\edgedriver
在我的测试用例中,我使用的是 contextClick()。在 Chrome 和 Firefox 中运行良好。但在 Internet Explorer 中不执行任何操作。日志中没有显示错误消息。
os = Windows 10 64 位
katalon版本=6.3.3.11
InternetExplorerDriver 服务器(64 位)3.150.0.0
即版本 = 11.0.140
能力
2019-09-10 12:07:29.425 INFO c.k.k.core.webui.driver.DriverFactory - Starting 'IE' driver
2019-09-10 12:07:29.432 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['nativeEvents', 'false']
2019-09-10 12:07:29.433 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['handlesAlerts', 'true']
2019-09-10 12:07:29.434 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['enablePersistentHover', 'false']
2019-09-10 12:07:29.435 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['requireWindowFocus', 'true']
2019-09-10 12:07:29.436 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['javascriptEnabled', 'true']
2019-09-10 12:07:29.437 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['cssSelectorsEnabled', 'true']
2019-09-10 12:07:29.438 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['enable_element_cache_cleanup', 'true']
2019-09-10 12:07:29.439 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['ie_ensure_clean_session', 'true']
2019-09-10 12:07:29.439 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['window-size', '[1920, 1080]']
2019-09-10 12:07:29.439 INFO c.k.k.c.w.util.WebDriverPropertyUtil - User set preference: ['requireWindowFocus ', 'true']
第一种方法:
Actions action = new Actions(driver)
WebElement testFolder = CustomKeywords.'com.cartago.katalon.keywords.ElementUtil.getElementByClassAndText'('x-tree3-el', GlobalVariable.SeleniumTestFolder)
action.click(testFolder).build().perform() //OK
action.contextClick(testFolder).build().perform() //NOK
第二种方法:
TestObject to = CustomKeywords.'com.cartago.katalon.objects.TestObjects.fromElement'(testFolder)
WebUI.rightClick(to) //NOK
在这两种情况下,WebElement 和 TestObject 都由 WebDriver 找到。
日志:
2019-09-10 10:38:55.345 DEBUG testcase.ConvertWebElement - 7: rootFolder = com.cartago.katalon.keywords.ElementUtil.getElementByClassAndText("x-tree3-node", "root")
2019-09-10 10:38:56.393 INFO k.k.c.m.CustomKeywordDelegatingMetaClass - com.cartago.katalon.keywords.ElementUtil.getElementByClassAndText is PASSED
2019-09-10 10:38:56.394 DEBUG testcase.ConvertWebElement - 8: to = com.cartago.katalon.objects.TestObjects.fromElement(rootFolder)
2019-09-10 10:38:56.538 INFO k.k.c.m.CustomKeywordDelegatingMetaClass - com.cartago.katalon.objects.TestObjects.fromElement is PASSED
2019-09-10 10:38:56.539 DEBUG testcase.ConvertWebElement - 9: doubleClick(to)
2019-09-10 10:38:58.010 DEBUG testcase.ConvertWebElement - 10: delay(delayShort)
2019-09-10 10:38:59.021 DEBUG testcase.ConvertWebElement - 11: testFolder = com.cartago.katalon.keywords.ElementUtil.getElementByClassAndText("x-tree3-el", SeleniumTestFolder)
2019-09-10 10:39:00.800 INFO k.k.c.m.CustomKeywordDelegatingMetaClass - com.cartago.katalon.keywords.ElementUtil.getElementByClassAndText is PASSED
2019-09-10 10:39:00.801 DEBUG testcase.ConvertWebElement - 12: to2 = com.cartago.katalon.objects.TestObjects.fromElement(testFolder)
2019-09-10 10:39:00.927 INFO k.k.c.m.CustomKeywordDelegatingMetaClass - com.cartago.katalon.objects.TestObjects.fromElement is PASSED
2019-09-10 10:39:00.927 DEBUG testcase.ConvertWebElement - 13: contextClick(testFolder).perform()
如果有人能给出解决这个问题的建议就太好了。
尝试以下步骤:
第 1 步:下载此文件:https://download.microsoft.com/download/3/4/2/342316D7-EBE0-4F10-ABA2-AE8E0CDF36DD/MicrosoftWebDriver
第二步:下载后,copy/replace放入Katalon Studio文件夹的edge driver中,例如:C:\6.2\Katalon Studio Windows 64\configuration\resources\drivers\edgedriver