Как отменить определенный TestStep в TestCase

Я обязан отменить определенный TestStep (SoapRequest) в TestCase в зависимости от условия. Поэтому я решил создать 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();

Но этот код не отменяет шаг теста, а всегда возвращает "ложь". Если бы это был последний TestStep в TestCase, я мог бы просто вызвать testRunner.cancel(), и это сработало бы. Но в моем случае это не вариант. У кого-нибудь есть идеи, чтобы решить эту проблему? Благодарю.

1 ответ

Для управления потоком выполнения теста вы можете использовать шаг теста "Условное переход" (самый простой способ) или шаг теста "Groovy script", если вам нужна более сложная логика.

Подробные инструкции здесь: http://www.soapui.org/Functional-Testing/controlling-flow.html

Если вы решили использовать groovy script и вам нужно отменить не последний шаг, вы можете просто запустить следующий шаг по имени в groovy script:

testRunner.runTestStepByName( "next_step_name")  
Другие вопросы по тегам