Ukuntywila-Ungawugcina njani uMzimba wokuPhendula

Uwugcina njani umzimba wokuphendula eGatling?

Xa sisenza uvavanyo lokusebenza kwe-API, sinokufuna ukwakha uluhlu lwezicelo. Umzekelo, senza umnxeba kwi-API, sigcine impendulo kwaye sidlulise impendulo kwenye ifowuni ye-API.

Oku kubizwa ngokuba yimpendulo yokuphendula isicelo kwaye yinto eqhelekileyo xa kuvavanywa ii-API.


Ukugcwala kunika indlela yokugcina yonke impendulo okanye inxenye yempendulo.

Le mizekelo ingezantsi ibonisa indlela yokugcina idatha yokuphendula kwiGatling.




Gcina lonke iqela lokuphendula

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

Sigcina impendulo epheleleyo yale fowuni ingentla ye-API kwinto ebizwa ngokuba Auth_Response.

Emva koko sinokusebenzisa okwahlukileyo, okunempendulo, ukudlula njengomzimba okanye ukuhlawula umthwalo kwesinye isicelo, njenge:

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


Ukukhupha isiQinisekiso kuMzimba weMpendulo kunye nokuGcina

KwiGatling, sinokubonisa impendulo, umzekelo ngeJsonPath, ukukhupha ixabiso kwaye uligcine njengotshintsho. Njengasentla, emva koko singadlulisa okwahlukileyo kwifowuni elandelayo ye-API.

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

Kwisicelo esingentla, sibonisa impendulo yeJSON kwaye sikhuphe ixabiso leparameter tokenId kwaye ugcine ixabiso lazo njenge tokenId.


Emva koko sinokubhekisa kuguquko usebenzisa ${tokenId}