Forum Discussion
KarelHusa
10 years agoSuper Contributor
I would suggest to loop at the test case level.
1. you define properties on TestSuite (or TestCase) level:
- airports with value: London,Prague,Paris
- counter with value: 0
2. create a 'Flight' TestStep and in your test step get the airport value and increment the counter:
def s = testRunner.testCase.testSuite.getPropertyValue( "airports") def list = s.split(',') def i = Integer.parseInt(testRunner.testCase.testSuite.getPropertyValue( "counter")) // Do your action here log.info list[i] // increment the counter i++ testRunner.testCase.testSuite.setPropertyValue( "counter", i.toString())
3. Put a Groovy script test step called 'Continue ' afterwards, with a script:
def s = testRunner.testCase.testSuite.getPropertyValue( "airports") def list = s.split(',') def i = Integer.parseInt(testRunner.testCase.testSuite.getPropertyValue( "counter")) if (i < list.size()) { // Looping as long as we have values testRunner.gotoStepByName ('Flight') } else { // Otherwise we set counter to initial value testRunner.testCase.testSuite.setPropertyValue( "counter", new Integer(0).toString()) }
3. This code prints following output:
Thu Aug 04 14:26:53 CEST 2016:INFO:London
Thu Aug 04 14:26:53 CEST 2016:INFO:Paris
Thu Aug 04 14:26:53 CEST 2016:INFO:Prague
I hope this helps, however the looping is not on a TestSuite level. TestSuite level looping is also possible, you need to utilize the TestSuite TearDown script for looping.
sathyaraj
10 years agoOccasional Contributor
Thanks for the suggestions.i will try and update