v3t3a
11 years agoOccasional Contributor
GotoTestStep to another test case
Hello!
I'm searching since Yesterday but i found nothing for my problem:
- I have :
-> One test suite : "testSuite"
-> Two test case : "testCase_1" and "testCase_2"
-> Multiple testStep :
"testCase_1" : "testStep_1" ; "testStep_2" ;"testStep_3"
"testCase_2" : "testStep_1" ; "testStep_2" ;"testStep_3"
- What i want to do :
-> With a groovy script, which will be in "testCase_2", test the result (OK or NOT RUN) of "testCase_1" -> "testStep_2"
-> If "testCase_1" -> "testStep_2" = OK
-> goto "testCase_2" -> "testStep_3"
-> If "testCase_1" -> "testStep_2" = NOT RUN
-> goto "testCase_1" -> "testStep_1"
- What i tried (i'm in testCase_2) :
But i have this error :
groovy.lang.MissingMethodException: No signature of method: com.eviware.soapui.impl.wsdl.teststeps.ManualTestStep.gotoStepByName() is applicable for argument types: (java.lang.String) values: [testStep_1] error at line: 14
I hope someone can help me...
Thanks in advance!
v3t3a
I'm searching since Yesterday but i found nothing for my problem:
- I have :
-> One test suite : "testSuite"
-> Two test case : "testCase_1" and "testCase_2"
-> Multiple testStep :
"testCase_1" : "testStep_1" ; "testStep_2" ;"testStep_3"
"testCase_2" : "testStep_1" ; "testStep_2" ;"testStep_3"
- What i want to do :
-> With a groovy script, which will be in "testCase_2", test the result (OK or NOT RUN) of "testCase_1" -> "testStep_2"
-> If "testCase_1" -> "testStep_2" = OK
-> goto "testCase_2" -> "testStep_3"
-> If "testCase_1" -> "testStep_2" = NOT RUN
-> goto "testCase_1" -> "testStep_1"
- What i tried (i'm in testCase_2) :
testRunner.testCase.testSuite.project.name
import com.eviware.soapui.model.testsuite.TestStepResult.TestStepStatus
import com.eviware.soapui.impl.wsdl.WsdlTestSuite
import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestStep
myTestStepResult = testRunner.testCase.testSuite.getTestCaseByName("testCase_1").getTestStepByName("testStep_2").run(testRunner, context)
myStatus = myTestStepResult.getStatus()
if (myStatus == TestStepStatus.OK)
testRunner.gotoStepByName("testStep_3")
else{
testRunner.testCase.testSuite.getTestCaseByName("testCase_1").getTestStepByName("testStep_1").gotoStepByName("testStep_1");
}
But i have this error :
groovy.lang.MissingMethodException: No signature of method: com.eviware.soapui.impl.wsdl.teststeps.ManualTestStep.gotoStepByName() is applicable for argument types: (java.lang.String) values: [testStep_1] error at line: 14
I hope someone can help me...
Thanks in advance!
v3t3a
- Hello,
you can use following in "else" block:
def tCase = testRunner.testCase.testSuite.testCases["Name of test cases"]
def tStep = tCase .testSteps["test step you want to run"]
tStep.run(testRunner, context)
Also,
if (myStatus == TestStepStatus.OK) to be replaced with following:
if (myStatus == "OK")
Hope it helps,
Reshma S