Postman은 HTTP Protocol을 사용하는 API Server를 테스트할 때 자주 사용하게 된다.
특히 단일 API로 서비스가 끝나지 않고, 연속된 API를 호출하여 결과를 얻을 수 있도록 설계되는 경우가 점점 많아지고 있다. 이때 이전 Response Body에서 특정 key.value의 값을 추출하여 다음 Request의 url 또는 parameter value로 넘겨야 하는 경우가 종종 있다.
API를 호출할 때 마다 이전 Response Body에서 응답값을 Copy하여 다음 Request에 Paste하는 불편함을 줄일 수 있도록 Postman에서는 "Tests" 라는 메뉴를 통해 Script 작성 기능을 제공한다.
더 자세한 기능 및 예제는 Postman 공식 홈페이지를 통해 확인할 수 있다.
Link : https://learning.postman.com/docs/writing-scripts/script-references/test-examples/
아래는 실제 API 테스트 시, 자주 활용하는 json 형태의 Response Body에서 uuid라는 key의 value를 파싱하여 다음 Request의 요청 URL에 활용해 본 샘플이다. (불필요한 데이터들은 삭제함)
API#1 :
file을 upload하는 API를 호출하여 Response Body로 "uuid"를 json 형태로 응답받는 API.
upload된 파일을 Backend Server에서 unique하게 구별할 수 있는 uuid이며, 그 파일을 통해 정보를 얻기 위해 uuid가 필요하다.
Tests 메뉴를 선택한 후, json 형태의 Response Body에서 uuid를 parsing하여 uuid라는 key의 value를 "FILE_UUID" 라는 변수에 저장하는 스크립트 예제 :var data = JSON.parse(responseBody);
postman.setEnvironmentVariable("FILE_UUID", data.uuid);
API#2 :
이전 upload API를 통해 Backend Server에 저장된 file의 정보를 얻어오는 API.
정보를 얻고자하는 file을 특정하기 위해서는 그 file을 upload 하고 응답받은 uuid를 URL에 포함여 요청해야 한다.
요청 URL에 변수로 저장된 FILE_UUID의 value를 넣어주기 위해 중괄호 2개안에 변수를 입력하여 Request 작성 예제 :
http://{{be-ip}}:{{be-port}}/fileinfo/{{FILE_UUID}}/
** 위 예제에서는 변수를 URL에 포함하였으나, 셋팅된 변수는 URL뿐 아니라 요청 Request Parameter에서도 동일한 형태로 활용 가능하다.
'Engineering > Jmeter, Postman' 카테고리의 다른 글
[jmeter][beanshell sampler] beanshell sampler에서 stdout 값을 저장하여 response assertion 추가하기 (0) | 2023.07.02 |
---|---|
jmeter : Windows CMD 또는 Linux Command 로 실행하기 (0) | 2022.07.03 |
Postman : GraphQL query 요청하기 (0) | 2022.02.27 |
Jmeter : Counter (Config Element) Example (0) | 2021.10.24 |
django admin API를 활용하여 postman에서 API 호출하기 (feat. csrfmiddlewaretoken) (2) | 2021.10.18 |
댓글