Jmeter-tutoriaal: hoe u 'n JSON-lêer kan stuur soos versoek in die liggaam

In hierdie JMeter-handleiding verduidelik ons ​​hoe u een of meer JSON-lêers in die hoofstuk van die HTTP-versoek kan stuur.

Wanneer ons 'n RESTful API toets, stuur ons normaalweg 'n POST-versoek na die REST API in JSON-formaat. Die versoekparameters in JSON-formaat moet in die hoofstuk van die HTTP-versoek gestuur word.

Eerstens benodig u 'n tekslêer met die JSON-versoek. Ons sal hierdie lêer gebruik om na ons REST API te stuur in die hoofstuk van die POST-versoek.


Gestel die lêer is in /Users/testing-excellence/Perf/blog/json_request.txt

jmeter-json-versoek-pos


Ons JMeter-skrif sal so lyk:

jmeter-post-versoek-json

Met ander woorde, ons moet die liggaamsdata in die HTTP-sampler kies en die volgende kode kode invoeg

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

Dit is duidelik dat die pad op u masjien anders sal wees.


Die bostaande lyn neem die inhoud van die lêer genaamd json_file.txt en stuur die inhoud in die liggaam van die versoek na die REST API.

Aangesien JMeter hoofsaaklik vir prestasie- en laadtoetsing gebruik word, kan ons ons REST API laai deur meerdere JSON-versoeke te stuur.

Om dit te doen, maak ons ​​gebruik van die JMeter se CVS Data Set Config-element.

In die CSV-lêer het ons 'n kolom met die name van die JSON-versoeklêers. Hierdie CSV-lêer dien as verwysing na die JSON-lêers.


Gestel ons het 10 JSON-lêers met lêername 100.txt, 101.txt, 103.txt… .110.txt

jmeter-post-json-versoek

En die CSV-lêer sal lyk soos volg:

jmeter-csv-json-versoek


Dan in JMeter voeg ons die CSV Data Set Config-element by ons toetsplan

json-csv-versoek-na-jmeter

Die veranderlike is JSON_FILE wat die waardes van 100, 101, 102, ens ... uit die CSV-lêer haal.

Dan moet ons hierdie veranderlike in ons __FileToString() verwys JMeter-funksie, d.w.s.


jmeter-json-lêer-csv-versoek

Wanneer ons hierdie JMeter-toets uitvoer, sal dit deur die CVS loop, elke lêernaam neem en die inhoud van elke lêer uittreksel om dit as 'n JSON in die inhoud van die versoek te stuur.