vikititor
4 years agoContributor
Reexecution failed test in test suite
Hello all, here is script provided by SmartBear support.. but script ends in loop.. They are unable to help me..
Basically.. is there any way? how to re-execute failed tests? I have ReadyAPI 3.7..
Integer reexecutionCount = context.testSuite.project.getPropertyValue("reexecutionCount");
String reexecutionTestPattern = context.testSuite.project.getPropertyValue("reexecutionTestPattern");
log.info " * * * REEXECTUION FAILED TESTS TestSuite: " + context.testSuite.name
//log.info "reexecutionTestPattern: " + reexecutionTestPattern
//log.info "reexectution max: " + reexecutionCount.toString();
String testName;
// select all tests in FAIL run status:
for ( testCaseResult in runner.results ) {
if ( testCaseResult.getStatus().toString() == 'FAIL' ){
testName = testCaseResult.getTestCase().name
// log.info "failed test: " + testName
// whenm matches the name of thest the project property using RegExp, then go and execute
if (testName.matches(reexecutionTestPattern)) {
for (i = 0; i < reexecutionCount; i++) {
log.info "REEXECUTION TestCase: " + testName
def tRun = testCaseResult.testCase.run(null, false)//need to have "true" as the second argument
if(tRun.getStatus().toString() == "PASS"){
break;
}
}
}
}
}
Hey vikititor.
Have you tried the script example given here?
It's slightly different to the one you're using now, but I've tested it on my machine and it works fine once you've added a Test Suite property to specify how many times you want the tests to rerun after failure.
Let me know if you have any more success with this one!