Отмена тестового запуска в SoapUI - PullRequest
0 голосов
/ 17 декабря 2018

В настоящее время у меня есть шаг теста, который вызывает другой контрольный пример.В вызываемом тестовом примере у меня есть отличный сценарий с условным оператором if.Если определенное условие выполнено, я хочу отменить текущее выполнение.Я добавил следующие две строки:

testRunner.cancel ("Условие не выполнено");return

Однако я обнаружил, что управление передается обратно в тот тестовый пример, из которого был сделан вызов, и он продолжает выполнять оставшиеся шаги теста в этом случае.Единственный способ обойти это - использовать testRunner.fail (""), но это не совсем то, что я хочу.

Пожалуйста, кто-нибудь может посоветовать.Большое спасибо.

Ответы [ 3 ]

0 голосов
/ 18 декабря 2018

Предполагая, что вы выполняете сценарий run () на тестовом примере, вы можете отловить результат этого теста и затем выбрать, как действовать.

def result = testRunner.testCase.testSuite.getTestCaseByName("The Name Of Your Testcase").run(null, false);
def status = result.getStatus()
if (status == com.eviware.soapui.model.testsuite.TestRunner.Status.CANCELED) {
    testRunner.cancel("Condition not met"); 
    return;
}
0 голосов
/ 19 декабря 2018

Спасибо, это оба отличные варианты, однако я вызываю тестовый набор с помощью параметра «Выполнить тестовый набор».Мне нужно сделать это таким образом (вместо использования скрипта groovy), чтобы обеспечить его безопасность в потоке, поскольку мне нужно выбрать опцию «Run Primary TestCase (ожидание выполнения до конца, Thread-Safe»).

0 голосов
/ 18 декабря 2018

Вместо записи testRunner.cancel в вызываемом шаге.Вы можете вернуть 0/1 из вызываемого groovy step

return 0

На основе значения, полученного при вызове функции 0 или 1, вы можете выполнить

testRunner.cancel("Cancelling the test run further steps as there is a failure")
return
...