Katalon系列二十一:用例中语句失败处理

假如有一个用例:
1.登陆
2.下单
3.对历史单评价
4.退出

情况一:当第1步执行失败时,我们希望用例不再执行,因为再执行也没有意义了,反而浪费时间;
情况二:当第2步执行失败时,我们希望能略过第2步操作,继续往下执行。

Katalon提供了Failure Handing功能,在Project菜单中的Setting选项中,可以设置全局的语句失败处理,如图

各选项含义如下:

此处的设置是对所有用例都生效的。但如果我们要同时兼容情况一和情况二,可以再手动对某行代码设置失败处理。只要在视图模式中右击某行代码,菜单中的Change failure handing即可指定单行的失败处理方式:

当在视图模式选择失败处理方式后,在代码模式也会改变对应代码,所以我们也可以直接在代码中修改失败处理方式。
全局和单行处理方式不同时以单行的为准。

回到开头的用例,情况一我们可以给登陆步骤设为Stop on Failure,情况二我们可以给下单步骤设为Continue on Failure。

 

另外,在运行Test Suites时(假如一个用例集有10个用例),如果第1个用例中的某行被设为Stop on Failure导致用例失败,不会影响第2个用例,第2个用例仍会执行。

Katalon的关键字大部分支持Failure Handing功能,另外Katalon还提供了强制停止用例的代码语句,以备特殊情况使用。举个例子,当页面某元素不是期望的值时,则停止用例执行:

import com.kms.katalon.core.exception.StepErrorException as StepErrorException

String name = WebUI.getText(findTestObject('szh/div'), FailureHandling.STOP_ON_FAILURE)//获取文本执行失败时,停止用例执行

println('开始')

if (name == '新闻') {
    println('元素存在且值正确')
} else {
    throw new StepErrorException('The test case is forced to stop here!')
    println('本语句永远不会被打印')
}

println('元素值不对时本语句不会被打印')

 

posted @ 2019-11-24 16:26  ☆星空物语☆  阅读(855)  评论(0编辑  收藏  举报