我需要验证页面上的文本,而不是给出文本的实际值,Katalon给出了我使用的CSS错误。
这是我创建的关键字:
@Keyword
def usersText(){
WebDriver driver = DriverFactory.getWebDriver()
WebElement su = driver.findElement(By.cssSelector("#table-page .ui-title"))
//String usersText = WebUI.getText(findTestObject('Object Repository/WMS/Page_System Users/h1_System Users'))
return su
}
以下是用于调用关键字的脚本:
WebUI.click(findTestObject('Object Repository/WMS/Page_Dashboard/img_Developer Options_system_users'))
WebUI.delay(2)
String userText = CustomKeywords.'com.wms.modules.general.ModuleKeywords.usersText'()
if (WebUI.verifyTextPresent(userText, true, FailureHandling.STOP_ON_FAILURE)){
println('System Users page has the text: ' + userText)
}
运行脚本后出现以下错误:
2019-09-13 09:53:25.756 INFO c.k.katalon.core.main.TestCaseExecutor - --------------------
2019-09-13 09:53:25.765 DEBUG testcase.C16354 - System Users - 2: click(findTestObject("Object Repository/WMS/Page_Dashboard/img_Developer Options_system_users"))
2019-09-13 09:53:28.151 DEBUG testcase.C16354 - System Users - 3: delay(2)
2019-09-13 09:53:30.160 DEBUG testcase.C16354 - System Users - 4: userText = com.wms.modules.general.ModuleKeywords.usersText()
2019-09-13 09:53:30.247 INFO k.k.c.m.CustomKeywordDelegatingMetaClass - com.wms.modules.general.ModuleKeywords.usersText is PASSED
2019-09-13 09:53:30.248 DEBUG testcase.C16354 - System Users - 5: if (verifyTextPresent(userText, true, STOP_ON_FAILURE))
2019-09-13 09:53:30.484 DEBUG testcase.C16354 - System Users - 1: println("System Users page has the text: " + userText)
System Users page has the text: [[CChromeDriver: chrome on XP (0c9a9313aebba81a65bf2ff2f68e5a09)] -> css selector: #table-page .ui-title]
它应该打印“系统用户”页面上显示文本:“系统用户”,而不是上面的错误信息。
答案 0 :(得分:0)
usersText()
方法返回类型su
的{{1}}。它应该返回该元素的文本。
您应该将WebElement
更改为
return su