„Jmeter“ mokymo programa: kaip išsiųsti JSON failą kaip užklausą „Body“

Šioje „JMeter“ mokymo programoje paaiškiname, kaip siųsti vieną ar kelis JSON failus į HTTP užklausos turinį.

Testuodami RESTful API, mes paprastai siunčiame POST užklausą REST API JSON formatu. Užklausos parametrus JSON formatu reikia siųsti HTTP užklausos tekste.

Pirmiausia jums reikės teksto failo su JSON užklausa. Šį failą naudosime siunčiant į mūsų REST API POST užklausos tekste.


Tarkime, failas yra /Users/testing-excellence/Perf/blog/json_request.txt

jmeter-json-request-post


Mūsų „JMeter“ scenarijus atrodys maždaug taip:

jmeter-post-request-json

Kitaip tariant, turime pasirinkti kūno duomenis „HTTP Sampler“ ir įterpti šią kodo eilutę

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

Akivaizdu, kad jūsų mašinoje kelias bus kitoks.


Pirmiau pateiktoje eilutėje pateikiamas failo, pavadinto json_file.txt, turinys ir užklausos tekste turinys siunčiamas REST API.

Kadangi „JMeter“ daugiausia naudojamas našumui ir apkrovos testavimui, mes galime įkelti „REST“ API bandymą, siųsdami kelias JSON užklausas.

Norėdami tai padaryti, mes naudojame JMeter CVS Data Set Config elementą.

CSV faile turime stulpelį su JSON užklausos failų pavadinimais. Šis CSV failas yra nuoroda į JSON failus.


Tarkime, kad turime 10 JSON failų su failų pavadinimais 100.txt, 101.txt, 103.txt… .110.txt

jmeter-post-json-prašymas

CSV failas atrodys taip:

jmeter-csv-json-prašymas


Tada „JMeter“ į savo bandymų planą įtraukiame CSV duomenų rinkinio konfigūracijos elementą

json-csv-request-post-jmeter

Kintamasis yra JSON_FILE, kuris paima 100, 101, 102 ir tt reikšmes iš CSV failo.

Tada turime nurodyti šį kintamąjį mūsų __FileToString() „JMeter“ funkcija, t.y.


jmeter-json-file-csv-request

Kai atliksime šį „JMeter“ testą, jis pereis per CVS, paimdamas kiekvieno failo pavadinimą ir ištraukdamas kiekvieno failo turinį, kurį norite siųsti kaip JSON užklausos tekste.