Gatling - Kumaha Simpen Awak Tanggapan

Kumaha cara ngahemat awak réspon di Gatling?

Nalika urang ngalakukeun uji coba kinerja API, urang panginten kedah ngawangun réntétan pamundut. Salaku conto, urang nelepon ka API, simpen réspon sareng ngalirkeun réspon kana panggilan API anu sanés.

Ieu disebut paménta-réspon chains sareng kagiatan umum nalika tés API.


Gatling nyayogikeun cara nyimpen sakabeh réspon atanapi bagian tina réspon.

Conto ieu di handap ngagambarkeun kumaha nyimpen data réspon dina Gatling.




Simpen Awak Réspon Sapinuhna

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

Kami nyimpen réspon lengkep sauran API di luhur dina variabel anu disebut Auth_Response.

Teras urang tiasa nganggo variabel éta, anu ngandung réspon, pikeun diliwatan salaku awak atanapi muatan kana pamundut anu sanés, sapertos:

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


Éstrak Unsur Ti Awak Tanggapan sareng Simpen

Dina Gatling, urang ogé tiasa ngurutan réspon, contona sareng JsonPath, nimba nilai sareng nyimpenna salaku variabel. Sapertos di luhur, urang teras tiasa ngalirkeun variabel éta dina nelepon API salajengna.

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'))

Dina pamundut di luhur, kami parse Respon JSON sareng nimba nilai pikeun parameter tokenId sareng simpen nilaina salaku tokenId.


Urang teras tiasa ngarujuk variabel nganggo ${tokenId}