Kaip išsaugoti atsako kūną Gatlinge?
Atlikdami API našumo testavimą, mums gali tekti sukurti užklausų grandinę. Pavyzdžiui, mes skambiname API, išsaugome atsakymą ir perduodame atsakymą kitam API skambučiui.
Tai vadinama užklausos-atsakymo grandine ir yra įprasta veikla tikrinant API.
„Gatling“ suteikia galimybę išsaugoti visą atsakymą ar jo dalį.
Toliau pateikiami pavyzdžiai parodo, kaip išsaugoti atsakymo duomenis „Gatling“.
val authRequest = exec(http('Auth Request')
.post(base_url + '/login/auth')
.body(ElFileBody('payload.json'))
.check(bodyString.saveAs('Auth_Response'))
.check(status is 200))
Išsaugome visą aukščiau nurodyto API iškvietimo atsakymą kintamajame, vadinamame Auth_Response
Tada mes galime naudoti tą kintamąjį, kuriame yra atsakymas, perduoti kaip kūną ar naudingąją apkrovą kitai užklausai, pavyzdžiui:
val validateRequest = exec(http('Validate Request')
.post(base_url + '/login/validate')
.body(StringBody('${Auth_Response}'))
.check(bodyString.saveAs('Validate_Response'))
.check(status is 200) )
„Gatling“ taip pat galime analizuoti atsakymą, pavyzdžiui, naudodami „JsonPath“, išskleisti vertę ir išsaugoti ją kaip kintamąjį. Kaip ir aukščiau, tada mes galime perduoti tą kintamąjį kitame API kvietime.
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'))
Pirmiau pateiktoje užklausoje analizuojame JSON atsakymą ir išskleidžiame parametro tokenId
vertę ir išsaugokite jo vertę kaip tokenId
.
Tada galime nurodyti kintamąjį naudodami ${tokenId}