Postman의 tests 기능을 활용한 환경변수 자동 세팅방법

Yorath Jang
5 min readOct 4, 2023

--

Rest API를 개발하는 경우, 이제는 Back-En 업무영역에 있어서 언어에 상관없이 Postman의 사용은 거의 필수가 되었다고 할 수 있습니다.

포스트맨을 어떻게 사용하느냐에 따라 개발 생산성에 큰 차이를 가져오게 될 뿐만 아니라, API 설계시 Front-End 파트와의 협업에 있어서도 매우 중요한 커뮤니케이션 도구로 활용됩니다.

포스트맨의 수 많은 기능 중에, 개발 생산성 — 좀 더 정확히 얘기하자면 테스트 시의 편의성 -을 조금 더 향상 시킬 수 있는 팁을 하나 소개합니다.

포스트맨에서 API를 실행하고 난 뒤, 응답값 검증 등 후속작업을 위한 목적으로 제공되는 포스트맨의 Test 기능을 활용한 팁입니다.

목적

  • API 테스트를 위해 포스트맨에서 특정 API 호출시, access_token과 같이 타 API — 대표적으로 인증토큰을 발행하는 auth token 발행 API 등 — 의 결과값을 파라미터로 사용하는 경우, 결과값이 변경될 때마다(토큰 유효기간 만료 시) 포스트맨 환경변수값을 변경해줘야 하는 불편함을 해소하기 위함.
  • 일반적인 Rest API 기반 어플리케이션은 최소한의 보안을 위한 클라이언트의 인증/인가를 위한 API를 제공하며, 제공되는 대부분의 API는 인증 API를 통해 access_token등의 API 접속 권한을 얻기 위한 토큰을 발급받게 됨.
  • 발급되는 토큰은 모든 API의 필수 요청 항목(또는 헤더값)으로 설정됨
  • 즉, 토큰이 만료되는 경우, 포스트맨에서는 아래와 같은 작업이 필요큰발행 API 호출
  1. access_token 발급
  2. 토큰 복사
  3. 테스트할 API가 있는 Collection의 환경변수 설정으로 이동
  4. 환경변수로 설정해 놓은 토큰 변수의 값 -> 복사한 토큰 값으로 변경
  5. 환경변수 저장
  6. 테스트할 API로 이동 후 테스트

내용을 보면 별 거 아닌 작업으로 보이지만, 실제로 작업을 해 보면 토큰이 만료될 때마다 3 ~ 6번까지의 작업을 반복적으로 한다는 게 여간 귀찮은 일이 아닙니다.

특히 인증 API의 토큰의 만료기간이 짧은 경우에는 더더욱 귀찮아집니다.

설정 방법

  • 포스트맨의 Test 지원 스크립트를 활용하여 토큰 발급 api의 토큰값을 테스트할 API의 환경변수값으로 설정합니다.
  • 스크립트를 작성하는 방법은 매우 간단합니다.
  • 본문 제일 아래의 링크를 참고하셔서 포스트맨 스크립트의 간단한 작성법만 익히시면 바로 적용할 수 있습니다.
  • 적용절차
  1. 테스트 API의 공통 변수 값으로 지정할 API(인증 토큰 발행 API) 선택
  2. Tests 탭 이동
  3. 스크립트 작성
var jsonData = pm.response.json(); 
pm.environment.set("access_token", jsonData.access_token);​
  • 포스트맨의 스크립트는 자바스크립트와 매우 유사하니, 간단한 코드는 어렵지 않게 작성할 수 있습니다.

4. 이 코드는 API의 결과값(JSON객체)을 jsonData라는 변수값으로 담아서
포스트맨의 글로벌 범위에서 정의된(pm) 환경변수 중 “access_token” 변수에 해당 API 결과 항목인 acess_token 항목의 값을 대입시키는, 매우 단순한 코드입니다.

5. api 실행

6. 포스트맨의 환경변수 값 확인 (아래 화면 참조)

api 실행 후, 작동되는 test 스크립트를 통해
포스트맨의 환경변수로 정의된 ‘access_token’값에 api의 응답값이 바로 적용되게 됩니다.

즉, 토큰이 만료되었다 하더라도, 위의 과정을 반복할 필요가 없어지게 됩니다.

  1. 토큰 발행 API 호출
  2. access_token 발급
  3. 토큰 복사
  4. 테스트할 API가 있는 Collection의 환경변수 설정으로 이동
  5. 환경변수로 설정해 놓은 토큰변수의 값 -> 복사한 토큰값으로 변경
  6. 환경변수 저장
  7. 테스트할 API로 이동 후 테스트

3~6번의 과정이 더 이상 불필요해지고,
토큰이 만료되었다면, 1번의 토큰발행 API만 한번 더 실행해 주면, 실제 테스트 할 API를 바로 사용할 수 있게 됩니다.

포스트맨의 다른 유용한 기능들도 많지만, 이렇게 간단한 스크립트를 활용하여 Rest API 어플리케이션 개발 시의 개발 생산성을 조금이나마 향상시킬 수 있는 방법도 있으니 활용해 보시면 좋을 것 같습니다.

당연히,Test 스크립트의 기능은 이런 활용방법 외에도 원래의 목적인 결과값 검증 등의 활용도가 높은 기능이니잘 사용한다면 개발작업에 많은 도움을 줄 수 있을 것입니다.

관련링크 — Postman 내장 스크립트 문법

--

--