Падручнік па Jmeter: Як адправіць файл JSON як запыт у асноўным

У гэтым падручніку па JMeter мы растлумачым, як адправіць адзін ці некалькі файлаў JSON у целе HTTP-запыту.

Пры тэставанні RESTful API мы звычайна адпраўляем запыт POST у REST API у фармаце JSON. Параметры запыту ў фармаце JSON неабходна адпраўляць у целе HTTP-запыту.

Па-першае, вам спатрэбіцца тэкставы файл з запытам JSON. Мы будзем выкарыстоўваць гэты файл для адпраўкі на наш REST API у целе запыту POST.


Дапусцім, файл знаходзіцца ў /Users/testing-excellence/Perf/blog/json_request.txt

jmeter-json-request-post


Наш сцэнар JMeter будзе выглядаць прыблізна так:

jmeter-post-request-json

Іншымі словамі, нам трэба выбраць Body Body ў 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

jmeter-post-json-request

І файл CSV будзе выглядаць так:

jmeter-csv-json-запыт


Затым у JMeter мы дадаем у план тэставання элемент Набор дадзеных CSV

json-csv-request-post-jmeter

Зменнай з'яўляецца JSON_FILE, якая прымае значэнні 100, 101, 102 і г.д. ... з файла CSV.

Тады нам трэба спасылацца на гэтую зменную ў нашым __FileToString() Функцыя JMeter, г.зн.


jmeter-json-файл-csv-запыт

Калі мы выконваем гэты тэст JMeter, ён будзе праходзіць праз CVS, прымаючы імя кожнага файла і здабываючы змесціва кожнага файла для адпраўкі ў выглядзе JSON у целе запыту.