В этом руководстве по JMeter мы объясняем, как отправить один или несколько файлов JSON в теле HTTP-запроса.
При тестировании RESTful API мы обычно отправляем POST-запрос в REST API в формате JSON. Параметры запроса в формате JSON необходимо отправлять в теле HTTP-запроса.
Для начала вам понадобится текстовый файл с запросом JSON. Мы будем использовать этот файл для отправки в наш REST API в теле запроса POST.
Предположим, файл находится в /Users/testing-excellence/Perf/blog/json_request.txt
Наш сценарий JMeter будет выглядеть примерно так:
Другими словами, нам нужно выбрать Body Data в HTTP Sampler и вставить следующую строку кода
${__FileToString(/Users/testing-excellence/Perf/blog/${__eval(${json_file})}.txt,,)}
Очевидно, на вашей машине путь будет другим.
Вышеупомянутая строка берет содержимое файла с именем json_file.txt и отправляет содержимое в теле запроса в REST API.
Поскольку JMeter в основном используется для тестирования производительности и нагрузочного тестирования, мы можем выполнить нагрузочное тестирование нашего REST API, отправив несколько запросов JSON.
Для этого мы используем элемент конфигурации набора данных CVS JMeter.
В файле CSV у нас есть столбец с именами файлов запросов JSON. Этот файл CSV служит ссылкой на файлы JSON.
Предположим, у нас есть 10 файлов JSON с именами 100.txt, 101.txt, 103.txt… .110.txt.
И файл CSV будет выглядеть так:
Затем в JMeter мы добавляем элемент конфигурации набора данных CSV в наш план тестирования.
Переменная - JSON_FILE, которая принимает значения 100, 101, 102 и т. Д. Из файла CSV.
Затем нам нужно указать эту переменную в нашем __FileToString()
Функция JMeter, т.е.
Когда мы выполняем этот тест JMeter, он проходит через CVS, беря каждое имя файла и извлекая содержимое каждого файла для отправки в виде JSON в теле запроса.