我正在尝试配置一个if - gets语句,但是我的代码会被困在if语句上,而不会继续使用else语句。
我尝试将break;添加到if语句中,但它也不起作用。
WebUI.openBrowser('')
WebUI.navigateToUrl('123/account/login?ReturnUrl=%2F')
WebUI.maximizeWindow()
WebUI.setText(findTestObject('123/Page_Log in/input_ _Username'), 'admin')
WebUI.setEncryptedText(findTestObject('123/Page_Log in/input_ _Password'), 'admin')
not_run: WebUI.verifyElementPresent(findTestObject('123/Page_Log in/span_Log in'), 1)
WebUI.click(findTestObject('123/Page_Log in/span_Log in'))
not_run: WebUI.verifyElementPresent(findTestObject('123/Page_Operator/button_To activate session sta'), 1)
WebUI.click(findTestObject('123/Page_Operator/button_To activate session sta'))
if (WebUI.verifyTextPresent("Operator already has active session", true)) {
WebUI.click(findTestObject('if-else/Page_Operator/button_Clear'))
WebUI.click(findTestObject('if-else/Page_Operator/button_To activate session sta'))
WebUI.waitForPageLoad(5)
WebUI.click(findTestObject('123/Page_Operator/click_phone'))
WebDriver driver = DriverFactory.getWebDriver()
WebElement Table = driver.findElement(By.xpath('//div[@id=\'missedCallsContainer\']'))
List<WebElement> rows_table = Table.findElements(By.xpath('//tr[@class=\'dl-menu\']'))
int rows_count = rows_table.size()
println('No. of rows: ' + rows_count)
}
else {
WebUI.click(findTestObject('123/Page_Operator/click_phone'))
}如果代码进入if语句,它就会工作,但是如果我在if语句中提供的文本不存在,它就会停止工作,不会转到别处。
发布于 2018-12-25 02:15:33
您的脚本很好,我认为您只需要修改一下if语句。对于if语句,我认为您需要使用另一个版本的verifyTextPresent,如下所示,再使用一个参数FailureHandling.OPTIONAL

欲了解更多信息,请访问statement.html。
发布于 2018-12-24 15:27:48
Katalon开发人员意识到WebDriver方法可能对用户有用,因此他们引入了DriverFactory库。这个库负责对WebDriver实例进行操作,并为在Katalon中使用WebDriver提供了一些有用的方法。 这个库带来的最大好处之一是changeWebDriver()方法。正如我前面提到的,默认情况下不可能将Katalon关键字与自定义WebDriver实例一起使用。但是一旦你调用这个方法,你就可以使用它们了。Katalon将您的驱动程序设置为默认驱动程序,并且提供了完整的Katalon功能。
只需添加DriverFactory.changeWebDriver(driver)
WebUI.openBrowser('')
WebUI.navigateToUrl('123/account/login?ReturnUrl=%2F')
WebUI.maximizeWindow()
WebUI.setText(findTestObject('123/Page_Log in/input_ _Username'), 'admin')
WebUI.setEncryptedText(findTestObject('123/Page_Log in/input_ _Password'), 'admin')
not_run: WebUI.verifyElementPresent(findTestObject('123/Page_Log in/span_Log in'), 1)
WebUI.click(findTestObject('123/Page_Log in/span_Log in'))
not_run: WebUI.verifyElementPresent(findTestObject('123/Page_Operator/button_To activate session sta'), 1)
WebUI.click(findTestObject('123/Page_Operator/button_To activate session sta'))
if (WebUI.verifyTextPresent("Operator already has active session", true)) {
WebUI.click(findTestObject('if-else/Page_Operator/button_Clear'))
WebUI.click(findTestObject('if-else/Page_Operator/button_To activate session sta'))
WebUI.waitForPageLoad(5)
WebUI.click(findTestObject('123/Page_Operator/click_phone'))
WebDriver driver = DriverFactory.getWebDriver()
DriverFactory.changeWebDriver(driver)
WebElement Table = driver.findElement(By.xpath('//div[@id=\'missedCallsContainer\']'))
List<WebElement> rows_table = Table.findElements(By.xpath('//tr[@class=\'dl-menu\']'))
int rows_count = rows_table.size()
println('No. of rows: ' + rows_count)
}
else {
WebUI.click(findTestObject('123/Page_Operator/click_phone'))
}https://stackoverflow.com/questions/53914658
复制相似问题