1

我需要根据条件取消 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(),它会起作用。但就我而言,这不是一个选择。有人有想法解决这个问题吗?谢谢。

4

1 回答 1

0

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

详细说明在这里: http: //www.soapui.org/Functional-Testing/controlling-flow.html

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

testRunner.runTestStepByName( "next_step_name")  
于 2013-09-08T06:16:31.127 回答