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 ćemo datoteku 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 uzorkivaču i umetnuti sljedeći redak koda

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

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

Gornji redak uzima sadržaj datoteke s imenom 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 element JMeter-ovog CVS Data Set Config.

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 izgledat će ovako:

jmeter-csv-json-zahtjev

Zatim u JMeter u naš plan ispitivanja dodajemo element CSV Data Set Config

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, t.j.

jmeter-json-datoteka-csv-zahtjev

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