Vodič za Jmeter: Kako poslati JSON datoteku kao zahtjev u tijelu

U ovom vodiču za JMeter objašnjavamo kako poslati jednu ili više JSON datoteka u tijelu HTTP zahtjeva.

Kada testiramo RESTful API, obično šaljemo POST zahtjev REST API-ju u JSON formatu. Parametri zahtjeva u JSON formatu moraju se poslati u tijelu HTTP zahtjeva.

Prvo, trebat će vam tekstualna datoteka s JSON zahtjevom. Ovu datoteku ćemo koristiti za slanje na naš REST API u tijelu zahtjeva POST.


Pretpostavimo da se datoteka nalazi u /Users/testing-excellence/Perf/blog/json_request.txt

jmeter-json-request-post


Naša JMeter skripta izgledat će otprilike ovako:

jmeter-post-request-json

Drugim riječima, trebamo odabrati Body Data u HTTP Sampler-u i umetnuti sljedeći redak koda

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

Očito je da će put na vašem stroju biti drugačiji.


Gornji redak uzima sadržaj datoteke koja se zove json_file.txt i šalje sadržaj u tijelu zahtjeva REST API-ju.

Kako se JMeter uglavnom koristi za testiranje performansi i opterećenja, možemo testirati naš REST API slanjem višestrukih JSON zahtjeva.

Da bismo to učinili, koristimo JMetrov CVS element konfiguracije skupa podataka.

U CSV datoteci imamo stupac s imenima datoteka JSON zahtjeva. Ova CSV datoteka služi kao referenca na JSON datoteke.


Pretpostavimo da imamo 10 JSON datoteka, s imenima datoteka 100.txt, 101.txt, 103.txt ... .110.txt

jmeter-post-json-zahtjev

A CSV datoteka će izgledati ovako:

jmeter-csv-json-zahtjev


Zatim u JMeteru u naš plan testiranja dodajemo element CSV Config skupa podataka

json-csv-request-post-jmeter

Varijabla je JSON_FILE koja uzima vrijednosti 100, 101, 102, itd ... iz CSV datoteke.

Tada ovu referencu trebamo uputiti u naš __FileToString() JMeter funkcija, tj.


jmeter-json-datoteka-csv-zahtjev

Kada izvršimo ovaj JMeter test, on će se provući kroz CVS, uzimajući svako ime datoteke i izdvajajući sadržaj svake datoteke za slanje kao JSON u tijelu zahtjeva.