Как отменить определенный 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")