перезапустите тестовый пример в готовом API, используя скрипт разрыва - PullRequest
0 голосов
/ 18 мая 2018

У меня есть контрольный пример "Вход в систему", который периодически не удается из-за проблем с входом.Я хотел бы реализовать сценарий разрыва для получения статуса сценария и повторного запуска в случае его сбоя.

Вот что я реализовал, и он не работает должным образом.

testRunner.testCase.setPropertyValue("LoginStatus", 
testRunner.getStatus().toString())

def loginStatus = context.expand( '${#TestCase#LoginStatus}' )

int retryAttempts = context.expand( '${#Project#RetryAttempts}' ).toInteger()

def myContext = (com.eviware.soapui.support.types.StringToObjectMap)context

while ( loginStatus == "FAIL" && retryAttempts <= 1)  {
  retryAttempts = retryAttempts+1
  log.info "increment retry attempts-" + retryAttempts
  testRunner.testCase.testSuite.project.setPropertyValue( "RetryAttempts", 
   retryAttempts.toString() )
  testCase.run(myContext, false)
  log.info "after run statement-"+retryAttempts
}
log.info "before final statement"
testRunner.testCase.testSuite.project.setPropertyValue( "RetryAttempts", "0" 
)

Сценарий запускается 3 раза, даже если он настроен на повторный запуск.Бревна

Fri May 18 13:55:15 EDT 2018:INFO:increment retry attempts-1
Fri May 18 13:55:16 EDT 2018:INFO:increment retry attempts-2
Fri May 18 13:55:16 EDT 2018:INFO:before final statement
Fri May 18 13:55:16 EDT 2018:INFO:after run statement-2
Fri May 18 13:55:16 EDT 2018:INFO:before final statement
Fri May 18 13:55:16 EDT 2018:INFO:after run statement-1
Fri May 18 13:55:16 EDT 2018:INFO:increment retry attempts-2
Fri May 18 13:55:17 EDT 2018:INFO:before final statement
Fri May 18 13:55:17 EDT 2018:INFO:after run statement-2
Fri May 18 13:55:17 EDT 2018:INFO:before final statement
...