Hey wiseAcre
the groovy experts are better placed to answer this than me, but I'll give it a go.
your script is as follows:
def ReferenceID = context.expand ('${#TestCase#ReferenceID}');
ReferenceID = ReferenceID.toInteger() + 1;
if (ReferenceID < 990000) {
testRunner.testCase.setPropertyValue('${TestCase#ReferenceID}'); //LINE 5 Error
log.infor "ReferenceID" + ReferenceID;
testRunner.gotoStepByName("ReferenceID")
}
so looking at your script, youre storing the ReferenceID variable as a TestCase property entitled ReferenceID
Then you're casting the ReferenceID to integer and adding a 1 and naming that variable as 'ReferenceID' as well
Then you're saying - if the updated 'ReferenceID' variable value is < 990000, then you want to set the TestCase property as the previously updated ReferenceID - is that right?
also - after the log.info line -you have a testRunner.gottoStepByName ("ReferenceID") - does this mean you've also got a teststep called ReferenceID? Don't really understand what you intend to do here
this is a bit confusing - I tend to separate my names as much as possible rather than re-use as this has caused me problems in the past
also - another point - setProperty syntax typically requires two values - e.g. setProperty("attributeName", attribute)
I haven't got an machine to debug at moment and I'm kinda guessing about what you need but try something like the following:
def ReferenceID = context.expand ('${#TestCase#ReferenceID}');
ReferenceID_incremented = ReferenceID.toInteger() + 1;
if (ReferenceID_incremented < 990000) {
testRunner.testCase.setPropertyValue("RefID_increment", ReferenceID_incremented);
log.info "RefID_increment"
}
try the above and see what you think - bit unsure if you need to cast the integer back to string - but it depends on what you want to do
If you can explain exactly what you want to do cos I didn't really understand the gotoStepByName command in relation to your description - that would help too
ta
Rich