Gatling - Hvernig á að vista viðbragðsaðila

Hvernig á að vista viðbragðsaðila í Gatling?

Þegar við gerum afköstaprófun API gætum við þurft að byggja upp keðju beiðna. Til dæmis hringjum við í API, vistum svarið og sendum svarið í annað API símtal.

Þetta er kallað beiðni-svar keðjuverkun og er algeng aðgerð þegar API er prófað.


Gatling veitir leið til að vista allt svarið eða hluta svarsins.

Dæmin hér að neðan sýna hvernig á að vista svörunargögn í Gatling.




Bjarga heilu viðbragðsaðilunum

val authRequest = exec(http('Auth Request')
.post(base_url + '/login/auth')
.body(ElFileBody('payload.json'))
.check(bodyString.saveAs('Auth_Response'))
.check(status is 200))

Við vistum öll svörin við ofangreindu API símtali í breytu sem heitir Auth_Response



Síðan getum við notað þá breytu, sem inniheldur svarið, til að fara sem meginmál eða álag á aðra beiðni, svo sem:

val validateRequest = exec(http('Validate Request')
.post(base_url + '/login/validate')
.body(StringBody('${Auth_Response}'))
.check(bodyString.saveAs('Validate_Response'))
.check(status is 200) )


Dragðu úr frumefni úr svörun og vistaðu

Í Gatling getum við einnig flett svar, til dæmis með JsonPath, dregið út gildi og vistað það sem breytu. Eins og hér að ofan getum við síðan framhjá þeirri breytu í næsta API símtali.

val loginRequest: HttpRequestBuilder = http('Login Request')
.post(base_url + '/login')
.header(ContentType, ApplicationJson)
.header(Accept, ApplicationJson)
.body(StringBody(''))
.check(status is 200)
.check(jsonPath('$.tokenId').saveAs('tokenId'))

Í ofangreindri beiðni greinum við JSON svarið og drögum út gildi fyrir breytuna tokenId og vistaðu gildi þess sem tokenId.


Við getum síðan vísað til breytunnar með því að nota ${tokenId}