[Postman] 포스트맨 pre-request script 활용법, token 갱신 자동화
Pre-request script
포스트맨에서 pre-request script는 request를 전송하기 전에 자바스크립트 코드를 실행할 수 있는 기능이다.
pre-request script는 단순히 request 뿐만 아니라 collection, folder 단위로도 작성이 가능하다.
pre-request script는 주로 환경 변수 설정, 파라마티나 헤더 설정, 디버깅 코드 실행 등으로 사용이 가능하다.
또는 로그를 남기는 용도로도 사용할 수 있다.
Tests와의 차이는 Tests는 request가 전송되고 response가 온 후에 실행되지만,
pre-request script는 request가 전송되기 전에 실행된다는 점이다.
참고)
활용법
다음은 내가 실제로 실무에서 활용한 코드이다.
어떤 서비스에 request를 보낼때 accessToken이 있어야지만 권한 체크를 통과할 수 있다고 하자.
토큰은 제한 시간이 있기 때문에 하드 코딩할 수 없으니 매번 토큰을 새로 작성해줘야하는 불편함이 있다.
이를 pre-request script에서 미리 로그인을 하고 accessToken을 받는 식으로 해결했다.
const loginRequest = {
url: "https://...",
method: 'POST',
header: {header값},
body: {body 값 }
};
pm.sendRequest(loginRequest, function(err, response){
res = response.json();
pm.environment.set("access_token", res.accessToken);
});
위 코드를 간략히 설명하자면, loginRequest라는 HTTP 요청을 보낼 객체를 만든다.
해당 객체에는 url 정보, HTTP 메소드 정보, header, body 값을 넣는다.
그리고 pm.sendRequest를 통해 HTTP 요청을 보내고 받은 response에서 accessToken 정보를
포스트맨의 access_token 환경변수에 넣는다.
그럼 위와 같이 Authorization 탭의 Token에 미리 설정해둔 access_token 환경변수를 넣어주기만 하면
매 request마다 새로운 access_token을 가져와서 전송할 것이다.
이렇게 pre-request script를 활용하면 간편히 환경변수를 설정할 수 있다.
pre-request script를 작성할 때 옆의 Snippets를 활용하면 더욱더 간편하게 스크립트를 작성할 수 있다.
자주 사용되는 코드를 Snippets에서 제공해주기 때문에 이를 활용해보자.
참고
[1] 포스트맨 공식 홈페이지 : https://learning.postman.com/docs/writing-scripts/pre-request-scripts/