გეტლინგი - როგორ გადავარჩინოთ რეაგირების ორგანო

როგორ გადავარჩინოთ საპასუხო ორგანო გეტლინგში?

როდესაც ვაკეთებთ API– ს შესრულების ტესტირებას, შეიძლება დაგჭირდეთ თხოვნების ჯაჭვის შექმნა. მაგალითად, ჩვენ ვუკავშირდებით API- ს, ვინახავთ პასუხს და ვაგზავნით პასუხს სხვა API ზარზე.

ამას უწოდებენ მოთხოვნა-პასუხის ჯაჭვას და ეს არის ჩვეულებრივი აქტივობა API- ს ტესტირებისას.


გეტლინგი გთავაზობთ მთელი პასუხის ან პასუხის ნაწილის დაზოგვის გზას.

ქვემოთ მოცემული მაგალითები ასახავს, ​​თუ როგორ უნდა შეინახოთ პასუხის მონაცემები გატლინგში.




გადავარჩინოთ მთელი რეაგირების ორგანო

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

ჩვენ ვინახავთ ზემოაღნიშნული API ზარის სრულ რეაგირებას ცვლადში, რომელსაც ეწოდება Auth_Response.

შემდეგ შეგვიძლია გამოვიყენოთ ეს ცვლადი, რომელიც შეიცავს პასუხს, რომ გადავიდეს სხეულად ან ტვირთად დატვირთვა სხვა მოთხოვნაზე, მაგალითად

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


ამოიღეთ ელემენტი რეაგირების ორგანოსგან და შეინახეთ

გეტლინგში, ჩვენ ასევე შეგვიძლია გავაანალიზოთ პასუხი, მაგალითად JsonPath– ით, გამოვყოთ მნიშვნელობა და შევინახოთ იგი როგორც ცვლადი. როგორც ზემოთ, შემდეგ ჩვენ შეგვიძლია გადავცეთ ეს ცვლადი შემდეგ 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'))

ზემოთ მოყვანილ თხოვნაში, ჩვენ გავაანალიზებთ JSON Response- ს და გამოვყოფთ მნიშვნელობას პარამეტრისთვის tokenId და შეინახეთ მისი მნიშვნელობა, როგორც tokenId.


ამის შემდეგ შეგვიძლია ცვლადს მივუთითოთ ${tokenId}

საინტერესო სტატიები