SOUP UI Groovy || Для l oop зацикливается в 50 раз, где условие использует этот номер в любом месте - PullRequest
1 голос
/ 06 марта 2020

Здесь я просто беру значение (целое число) из файла свойств и использую то же самое для l oop. Примечание: если я использую прямой номер вместо значения «getTestCasePropertyValue», он будет работать как положено. Не понимаю, как l oop зацикливается 50 раз.

Groovy скрипт:

def getTestCasePropertyValue = testRunner.testCase.getPropertyValue( "NumOfPayments" )

log.info(getTestCasePropertyValue )

for(i=0; i<=getTestCasePropertyValue; i++)
{

        log.info("Test Print"+i)


}

Вывод:

Fri Mar 06 12:58:47 IST 2020:INFO:2 
Fri Mar 06 12:58:47 IST 2020:INFO:Test Print0 
Fri Mar 06 12:58:47 IST 2020:INFO:Test Print1 
Fri Mar 06 12:58:47 IST 2020:INFO:Test Print2 
Fri Mar 06 12:58:47 IST 2020:INFO:Test Print3 
...
Fri Mar 06 12:58:47 IST 2020:INFO:Test Print50

1 Ответ

2 голосов
/ 06 марта 2020

Ваше значение из свойств является строкой. Подобные проблемы вы обнаружите проще, если вы будете использовать .inspect() для регистрации событий.

Также символ '2' имеет значение 50 как целое число, которое затем в условиях для l oop также приводит к этому.

def getTestCasePropertyValue = "2"

println(getTestCasePropertyValue.inspect())
// → '2'
println(getTestCasePropertyValue as char as int)
// → 50

Так что лучше явно привести к числу, используя, например, .toLong() в строке:

println(getTestCasePropertyValue.toLong().inspect())
// → 2
...