我需要根据条件取消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(),它会起作用。但就我而言,这不是一个选择。 有些人有想法解决这个问题吗?感谢。
答案 0 :(得分:0)
要控制测试执行流程,您可以使用“Conditional Goto”测试步骤(最简单的方法)或“Groovy脚本”测试步骤,如果您需要更复杂的逻辑。
此处有详细说明:http://www.soapui.org/Functional-Testing/controlling-flow.html
如果您决定使用groovy脚本而不需要取消最后一步,则可以在groovy脚本中按名称运行下一步:
testRunner.runTestStepByName( "next_step_name")