JSON Extractor JMeter — это элемент для извлечения данных из ответов JSON. Он может извлекать значения конкретных полей из ответа JSON и использовать эти значения для последующих этапов тестирования.
Шаги по использованию экстрактора JSON следующие:
-
Добавьте HTTP-запрос для получения данных с ответом JSON.
-
Добавьте элемент экстрактора JSON после HTTP-запроса.
-
Настройте соответствующие поля в экстракторе JSON.
Конфигурация экстрактора JSON включает в себя следующие поля:
-
«имя созданных переменных»: укажите имя переменной для хранения извлеченных значений.
-
«Выражение пути JSON»: укажите выражение JSON для поиска значения, которое необходимо извлечь. Доступ к вложенным полям можно получить с помощью точки (.), например «user.name».
-
«Числа совпадений»: указывает порядковые номера извлекаемых значений. Если выражение JSON возвращает несколько совпадений, номер совпадения можно использовать для выбора одного из них. (0 означает случайное, 1 означает первое, -1 означает все), оно может быть пустым, что означает, что по умолчанию используется первое.
-
«Вычислить конкатенацию var(suffix_ALL)»: следует ли подсчитывать все, то есть сохранять все совпавшие значения с именем «имя переменной_ALL», в сценарии использования необходимо получить несколько значений, и эта группа данных придется оперировать позже.
-
«Значение по умолчанию»: значение по умолчанию, если значение не получено.
Когда экстрактор JSON настроен, он будет извлекать значение указанного поля после каждого HTTP-запроса и сохранять его в указанной переменной. Эти переменные можно использовать на последующих этапах тестирования.
При использовании JSON Extractor JMeter синтаксис JSONPath можно использовать для поиска и извлечения определенных значений полей в ответах JSON.
Ниже приводится подробное описание синтаксиса JSONPath:
-
$: корневой узел. Используйте $, чтобы указать корневой узел JSON.
-
.: текущий узел. Используйте ., чтобы представить текущий узел.
-
..: Рекурсивный спуск, используемый для поиска совпадений в текущем узле и его дочерних узлах. Например, $.store..price означает поиск всех полей цен в узле магазина под корневым узлом и его дочерними узлами.
-
*: подстановочный знак, соответствующий любому полю. Например, $.store.* означает соответствие всем полям узла хранилища под корневым узлом.
-
[]: оператор индекса, используемый для выбора элементов массива или атрибутов объекта. Например, $.store.book[0] означает выбор первого элемента массива книг в узле магазина под корневым узлом.
-
[n]: выбирает n-й элемент массива. Например, $.store.book[2] означает выбор третьего элемента массива книг в узле магазина под корневым узлом.
-
[начало:конец]: выберите диапазон элементов массива от начала до конца. Например, $.store.book[0:2] означает выбор первых трех элементов массива книг в узле магазина под корневым узлом.
-
[?(выражение)]: фильтрация совпадений на основе результата выражения. Например, $.store.book[?(@.price < 10)] означает выбор элементов, цена которых меньше 10, в массиве книг в узле магазина под корневым узлом.
Пример: предположим, что получен следующий ответ JSON:
{
"store": {
"book": [
{
"title": "Book 1",
"price": 10
},
{
"title": "Book 2",
"price": 15
},
{
"title": "Book 3",
"price": 5
}
]
}
}
Если вы хотите получить цену второй книги, вы можете использовать выражение JSONPath $.store.book[1].price. Это возвращает 15 в качестве извлеченного значения.
В дополнение к приведенному выше базовому синтаксису JSONPath также поддерживает некоторые другие расширенные функции, такие как функции, условные выражения и т. д. Эти функции можно использовать в JSONPath в соответствии с конкретными потребностями.
Наконец: приведенное ниже полное видеоруководство по тестированию программного обеспечения было отсортировано и загружено, и друзья, которым оно нужно, могут получить его самостоятельно [гарантировано 100% бесплатно]
Документация для собеседования по тестированию программного обеспечения
Мы должны учиться, чтобы найти высокооплачиваемую работу.Следующие вопросы для интервью представляют собой последние материалы интервью от таких интернет-компаний первого уровня, как Ali, Tencent и Byte, и некоторые руководители Byte дали авторитетные ответы.Завершите этот набор Материалы для интервью считаю, что каждый может найти достойную работу.