我需要验证页面上的文本,而不是给出文本的实际值,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]
它应该打印“系统用户页面上有文本:系统用户”,而不是上面出现的错误。
发布于 2019-09-16 06:36:49
usersText()
方法返回类型为WebElement
的su
。它应该返回该元素的文本。
您应该将return su
更改为
return su.getText()
https://stackoverflow.com/questions/57926820
复制相似问题