Ваши данные JSON кажутся недействительными.Предполагая, что у вас есть действующий JSON, как показано ниже, я отвечаю на ваш вопрос.
{
"storedCards": {
"cards": [
{
"CardId": "123",
"cardBrand": "Visa",
"lastFourDigits": "2968"
},
{
"CardId": "321",
"cardBrand": "Visa",
"lastFourDigits": "2968"
}
]
}
}
Вам не нужно писать код на Groovy, это можно решить с помощью JSON Extractor .Вместо использования функции длины используйте предикат пути JSON, например, такой:
$.storedCards.cards[*]
Хотя переменная, которую вы использовали в JSON Extractor, не даст решения сразу, другая функция JMeter помогает - __ RandomFromMultipleVars
Выдержка из документации -
Функция RandomFromMultipleVars возвращает случайное значение на основе значений переменных, предоставленных переменными источника.Переменные могут быть простыми или многозначными, поскольку они могут быть сгенерированы следующими экстракторами:
Boundary Extractor
Regular Expression Extractor
CSS Selector Extractor
JSON Extractor
XPath Extractor
XPath2 Extractor
Многозначные переменные - это те, которые извлекаются, когда вы устанавливаете -1 для Match Numbers.Это приводит к созданию переменной с номером совпадения с именем varName_matchNr и для каждого значения к созданию переменной varName_n, где n = 1, 2, 3 и т. Д.
Поэтому, как только вы используете предикат, вы получите счет в yourVariableName_matchNr .Пример: -
Надеюсь, что эта помощь.