[API TEST - Postman] API 테스팅툴 포스트맨 소개 및 사용 방법
안녕하세요, API Testing Tool로 가장 유명한 Postman 설치 및 소개, 사용 방법에 대해서 포스팅을 하려 합니다.
Postman은 API 테스팅 툴로 쉽고 간편한 UI를 활용하여 API를 요청하고 응답을 받아 보여주는 무료 오픈소스 Desktop 프로그램입니다. Get/Post/Put/Delete 등 다양한 Request 매소드를 테스트할 수 있고, Request Header나 Body도 UI로 쉽게 입력하여 테스트할 수 있습니다.
또한 응답 Reponse Body나 Header도 포맷화하여 보여줘서 API 개발 중 다양한 이슈를 쉽고 빠르게 파악할 수 있는 테스팅 툴입니다. 이외 여러 Profile 환경 설정을 할 수 있고, API 단계별 테스트 시나리오 작성, API Spec관리 등 API 개발 운영 업무에 필요한 다양한 여러 기능들을 제공해주는 툴입니다.
Postman Download 및 설치
https://www.postman.com/downloads/
위의 Postman 공식 사이트에서 OS 버전에 맞는 설치 파일을 다운로드하여 설치를 하면 간단하게 설치가 완료됩니다. 최초 실행 후 계정을 생성해서 접속하거나, Google 계정을 이용하여 로그인하여 접속할 수 있습니다. 또는 하단의 Skip 버튼을 통해 로그인 없이 사용도 가능합니다.
Postman 주요 기능
HTTP 메서드 선택
Get 메서드를 포함하여, Post/Put/Delete 등 다양한 HTTP 요청 메서드를 아래와 같이 선택하여 API 요청을 전송할 수 있습니다.
API 전송
API 호출하는 방법은 매우 간단한데, HTTP 메서드를 선택 후, 아래와 같이 URL, Params, Authorization, Request Header 등 필요한 데이터를 입력하고 우측의 Send 버튼을 클릭하면 API가 전송됩니다. 응답 후 하단에 응답 데이터가 시각적으로 보이게 됩니다.
아래의 예시는 Naver Open API인 블로그 서치 API에 Get 요청을 전송한 결과입니다.
- Request URL : Http 메서드를 선택하고 API를 전송할 URL를 입력
- Params : 파라미터 정보를 Key / Value 형태로 입력해도 되고, URL에 ?key=value&key=value 형태로 입력하면 자동으로 채워짐
- Authorization : Bearer Token, OAuth 등 다양한 인증에 필요한 키 혹은 토큰 데이터 입력
- Headers : Request Header를 Key / Value 형태로 입력
- Body : Request Body를 다양한 데이터 타입으로 입력 가능
- Pre-request Script, Tests : API 전송 전 실행할 Javascript 코드 및 실행 후 Javascript Test 코드 작성
- Send 버튼을 클릭하여 API 전송
- Response : 응답받은 Reponse Body 결과를 Json/XML 등의 형태로 시각화하여 볼 수 있고, Response Cookie나 Header 정보 확인 가능,
- Response : 우측 상단에 응답 코드 / 응답 시간 / 응답 크기 확인 가능, 마우스를 올려보면 각각의 상세 데이터를 확인 가능
Request Body
Post 요청 등 Request Body가 필요한 경우는 아래와 같이 Body 탭에 데이터 작성이 가능합니다. form-data, GrqphQL 등의 형태로 입력이 가능하고, raw를 선택하여 JSON/XML/HTML 등의 형태로 입력이 가능합니다.
아래의 예시는 Naver 오픈 API인 쇼핑 키워드 API에 POST 요청을 날려서 응답 값을 받은 결과입니다.
Cookie
Send 버튼 하단에 Cookies 버튼을 클릭하여 아래와 같이 도메인 별로 쿠키 설정도 가능합니다.
Environment
간단하게 주요 기능에 대해서 좀 알아보도록 하겠습니다. 다양한 기능 중 많이 사용되는 기능 중 하나인 environment 기능은 Dev / Stg / 운영 등 미리 Profile 환경에 맞게 여러 URL 중 공통으로 쓰이거나 자주 사용되는 부분을 미리 변수처럼 저장해 놓고 환경을 바꿔가며 간편하게 호출하여 사용할 수 있는 기능입니다.
아래와 같이 좌측 Environment탭으로 이동하여, + 버튼을 클릭하여 여러 Profile 환경을 생성을 합니다. 그 이후에 동일한 이름으로 각 환경마다 변수를 생성을 해주는데, Value에다 공통으로 사용될 URL 주소 부분을 작성합니다.
그러면 아래와 같이 Request URL 입력 부분에서 {{변수이름}} + 나머지 주소를 입력하고, 우측 상단에 환경을 선택하는 부분에서 환경만 변경만 해주면, 미리 저장한 각기 다른 환경의 주소로 변경을 하면서 API를 호출을 할 수 있습니다.
Collection
여러 요청들을 그룹화해서 저장하고 관리를 할 수 있는데, 그 기능이 Collection입니다. API 요청하는 화면에서 상단의 Save 버튼을 통해 Collection으로 해당 요청을 저장해서 관리할 수 있습니다.
이렇게 여러 요청들을 그룹화한 Collection으로 시나리오를 만들어 순서대로 요청을 할 수 있는데, 좌측 Collections 탭에서 해당 Collection의 더보기(...) 버튼을 클릭하여 Run 메뉴를 실행합니다. 그렇게 여러 API 요청들을 반복(Iteration) 및 지연(Delay) 설정을 주어 순차적으로 API를 호출을 하고 응답을 확인하며 테스트할 수 있습니다.
History
History 탭에서 그동안 요청을 하였던 요청을 확인하고, 검색하여 다시 요청을 할 수 있습니다. 이렇게 다양한 방법을 통해서 요청 시마다 하나하나 Parameter나 Body를 작성할 필요 없이 재사용하여 쉽게 API 테스트를 수행할 수 있습니다.
그 외, 사용해본 적은 없지만.. API의 스펙 Document를 작성하고 관리하는 APIs 탭과, Collection들을 스케줄을 줘서 주기적으로 호출을 하고 결과를 이메일로 받는 Monitors 탭, 가상의 Mock 서버를 생성하고 테스트를 할 수 있는 Mock Servers 탭, 테스트 시나리오를 아주 상세하게 커스터마이징 해서 Flow 차트 형태로 생성할 수 있는 Flows 탭이 있습니다.
이렇게 포스트맨은 API 전송 테스트뿐 아니라 스펙관리부터 검수 등 API 개발 운영 전반에 필요한 다양한 기능들을 UI로 쉽게 편리하게 사용할 수 있는 툴인 것 같습니다.