我目前有一个测试步骤,它调用另一个测试用例。在调用的测试用例中,我有一个带有条件if语句的常规脚本。如果满足某个条件,我想取消当前执行。我添加了以下两行;
testRunner.cancel(“未满足条件”); 返回
但是我发现,控制权被传递回了进行调用的测试用例,并且它继续执行该用例中其余的测试步骤。解决此问题的唯一方法是使用testRunner.fail(“”),但这并不是我真正想要的。
请任何人提供建议。非常感谢。
答案 0 :(得分:1)
而不是在调用的步骤中编写 testRunner.cancel 。您可以从调用的 groovy 步骤
返回0/1。return 0
根据调用函数0或1收到的值,您可以
testRunner.cancel("Cancelling the test run further steps as there is a failure")
return
答案 1 :(得分:1)
假设您正在测试用例上执行脚本run(),则可能会捕获该测试用例的结果,然后选择操作方式。
def result = testRunner.testCase.testSuite.getTestCaseByName("The Name Of Your Testcase").run(null, false);
def status = result.getStatus()
if (status == com.eviware.soapui.model.testsuite.TestRunner.Status.CANCELED) {
testRunner.cancel("Condition not met");
return;
}
答案 2 :(得分:0)
谢谢,这两个都是不错的选择,但是我通过“运行测试用例”选项调用了测试用例。我需要这样做(而不是使用常规脚本)来使其保持线程安全,因为我需要选择“运行主要TestCase(等待运行完成,线程安全”)选项。