본문 바로가기
Study/Postman

postman에서 파라미터 배열 길이만큼 request 보내기

by Zeromk2 2024. 2. 21.
728x90

postman은 API를 쉽게 사용하게 해주는 고마운 툴 중에 하나입니다.

오늘도 등장하는 명수옹

 

저는 테스트 사전 셋팅용도로 많이 사용하는데요, 이 목적으로 사용할 경우 요청을 여러번 보내야 하는 상황이 발생합니다.

요청을 보내야 하는 만큼 request를 만들어서 사용하면 해결할 수 있지만 요청을 많게는 100개 넘게 보내야 하는 경우도

발생합니다.

이럴경우는 request 를 100여개 만드는것이 매우 비효율적이게 되는데요

이럴때 한번의 요청으로 원하는 만큼 실행할 수 있도록 Pre-request Script 쪽에 스크립트를 작성해주면 됩니다.

 

아래 스크립트는 path parameter가 있는 API 사용 시 해당 paramater의 값을 products_list 배열 각각의 값으로 변경하면서

products_list 배열 길이 만큼 실행하는 내용입니다.

var baseUrl = pm.request.url.toString();

function sendRequest(value) {
     var url = baseUrl.replace('{{parameter}}', value);
     
     pm.sendRequest({
         url:url,
         method: pm.request.method,
         header: {
             'Cookie': pm.environment.get("cookie"),
             'Content-Type': 'application/json'
         }
     }, function(err, res) {
         console.log(res);
     });
 }
 
 products_list.forEach(sendRequest);

 

var baseUrl = pm.request.url.toString();

위 코드는 해당 request의 url로 설정되어 있는 값을 가져와서 baseUrl 변수에 저장해놓는 것입니다.

 

var url = baseUrl.replace('{{parameter}}', value);

위 코드는 저장해 놨던 url에 postman 환경변수로 설정해 놓은 {{parameter}} 값을 sendRequest function의 

매개변수 값으로 변경하는 코드입니다.

 

 products_list.forEach(sendRequest);

위 코드는 products_list 배열에 있는 각 항목에 대해 sendRequest 함수가 호출되도록 하는 코드입니다.

호출이 이루어질 때 각 항목이 sendRequest 함수의 매개변수로 전달됩니다.

 

해당 스크립트를 상황에 맞게 조금씩 변경하셔서 원하시는 방향대로 사용하시면 됩니다 :)

댓글