Jmeter Tutorial: Hur man skickar en JSON-fil som begäran i kroppen

I denna JMeter-självstudie förklarar vi hur man skickar en eller flera JSON-filer i HTTP-begäran.

När vi testar ett RESTful API skickar vi normalt en POST-begäran till REST API i JSON-format. Begäran parametrar i JSON-format måste skickas i huvuddelen av HTTP-begäran.

Först behöver du en textfil med JSON-begäran. Vi kommer att använda den här filen för att skicka till vårt REST API i huvuddelen av POST-begäran.

Antag att filen finns i /Users/testing-excellence/Perf/blog/json_request.txt

jmeter-json-begäran-post

Vårt JMeter-skript kommer att se ut så här:



jmeter-post-begäran-json

Med andra ord måste vi välja kroppsdata i HTTP-samplaren och infoga följande kodrad

${__FileToString(/Users/testing-excellence/Perf/blog/${__eval(${json_file})}.txt,,)}

Självklart kommer sökvägen att vara annorlunda på din maskin.

Ovanstående rad tar innehållet i filen med namnet json_file.txt och skickar innehållet i begärans innehåll till REST API.

Eftersom JMeter huvudsakligen används för prestanda och belastningstestning kan vi ladda testa vårt REST API genom att skicka flera JSON-förfrågningar.

För att göra det använder vi JMeters CVS Data Set Config-element.

I CSV-filen har vi en kolumn med namnen på JSON-förfrågningsfilerna. Denna CSV-fil fungerar som en referens till JSON-filerna.

Antag att vi har 10 JSON-filer, med filnamn 100.txt, 101.txt, 103.txt… .110.txt

jmeter-post-json-begäran

Och CSV-filen kommer att se ut:

jmeter-csv-json-begäran

Sedan i JMeter lägger vi till CSV Data Set Config-elementet i vår testplan

json-csv-begäran-efter-jmeter

Variabeln är JSON_FILE som tar värdena 100, 101, 102, etc ... från CSV-filen.

Då måste vi referera till denna variabel i vår __FileToString() JMeter-funktion, dvs.

jmeter-json-file-csv-begäran

När vi utför detta JMeter-test kommer det att gå igenom CVS, ta varje filnamn och extrahera innehållet i varje fil som ska skickas som en JSON i begäran.