Утверждать, если какой-либо тестовый шаг не удался

#groovy #soap #soapui #assert

Вопрос:

как я могу утверждать, что какой-либо из этапов тестирования не удался с помощью скрипта Groovy? Я написал отличный сценарий, который, помимо прочего, запускает другой тестовый набор, и я хочу, чтобы он утверждал каждый шаг теста (в так называемом тестовом наборе), если он не удался. В настоящее время он проверяет шаги тестирования, но не включает в себя шаги сценария Groovy (шаги сценария Groovy, в которых есть утверждения внутри них).

Это то, что у меня есть до сих пор…

 //Get TestStepList from called Project
def assertFinishedStatus = testRunner.testCase.testSuite.project.workspace.getProjectByName(projectName).getTestSuiteByName(testSuitetName).getTestCaseByName(testCaseName).getTestStepList()
//Assert if any step with assertions failed in called TestCase
def moduleStatus = true;
assertFinishedStatus.each{
     // check that testStep has assertionStatus 
    // (for example groovy testSteps hasn't this property since
    // there is no asserts on its)
    if(it.metaClass.hasProperty(it,'assertionStatus')){
        if(it.assertionStatus == AssertionStatus.FAILED){
            log.info "TestStep: ${it.name}   - - - - - - - - - - - -   Status: FAILED"
            return moduleStatus = false;
        }else if(it.assertionStatus == AssertionStatus.VALID || it.assertionStatus == AssertionStatus.UNKNOWN){
            log.info "TestStep: ${it.name}   - - - - - - - - - - - -   Status: OK!"
            return moduleStatus = true;
        }
    }
}
assert(moduleStatus != false)
 

Обновить:
Я надеюсь, что приведенное ниже описание прояснит то, чего я хочу достичь

Я использую Z_TC_DodawanieDwochLiczb_exp для запуска других тестовых наборов (в разных проектах). Выполнение скрипта Groovy выполняет всю работу (получает свойства из одного тестового набора и устанавливает их в другой, запускает другой тестовый набор и т. Д….). M_TC_Dodwanie-это тестовый набор, который я запускаю с помощью этого тестового шага скрипта Groovy EXECUTE_Dodawanie, как вы можете видеть, он не удался на шаге AssertResult Groovy Script, но не провалил Z_TC_DodawanieDwochLiczb_exp (что я хочу, чтобы он выполнял, если какой-либо тестовый шаг в других тестовых наборах, таких как M_TC_Dodawanie, терпит неудачу). И я хочу, чтобы это было сделано на шаге тестирования EXECUTE_Dodawanie в Z_TC_DodawanieDwochLiczb_exp.

Я знаю, что не должен делать никаких зависимостей между другими тестовыми наборами/проектами и т. Д. однако я должен это сделать, потому что это не от меня зависит

Два тестовых набора и отличный сценарий

Ответ №1:

В шагах тестирования сценариев Groovy есть утверждения в коде, но вы можете проверить их результаты:

 for (r in testRunner.results ) {
  // log.info "TestStep "   r.testStep.name   " status: ${r.getStatus()}"
  assert r.getStatus().toString().equals("OK")
}
 

Проверка результатов более надежна, так как этап тестирования скрипта Groovy и некоторые другие не имеют свойств утверждения.

Комментарии:

1. Я думаю, что я не могу использовать .результаты в других тестовых наборах, которые я запускаю с помощью testRunner.testCase.testSuite.project.workspace.getProjectByName(projectName).getTestSuiteByName(testSuitetName).getTestCaseByName(testCaseName) Я добавил скриншот и обновление к вопросу, так что, возможно, будет более понятно, что я хочу сделать