如何在TestCase中取消某些TestStep

时间:2013-09-07 19:18:41

标签: groovy soapui

我需要根据条件取消TestCase中的特定TestStep(SoapRequest)。所以我决定创建Groovy Script。

import com.eviware.soapui.impl.wsdl.teststeps.*;

String  inMoney = context.expand( '${#Project#Money}' );
def step =  testRunner.getTestCase().getTestStepByName("creditMoney");
log.info "step: $step";
if ((inMoney == '0') && (step instanceof WsdlTestRequestStep ) &&  (step != null)) 
step.cancel();

但是这段代码不会取消测试步骤而是总是返回'false'。 如果那是TestCase中的最后一个TestStep,我可以调用testRunner.cancel(),它会起作用。但就我而言,这不是一个选择。 有些人有想法解决这个问题吗?感谢。

1 个答案:

答案 0 :(得分:0)

要控制测试执行流程,您可以使用“Conditional Goto”测试步骤(最简单的方法)或“Groovy脚本”测试步骤,如果您需要更复杂的逻辑。

此处有详细说明:http://www.soapui.org/Functional-Testing/controlling-flow.html

如果您决定使用groovy脚本而不需要取消最后一步,则可以在groovy脚本中按名称运行下一步:

testRunner.runTestStepByName( "next_step_name")