Postman

오민영·2021년 7월 8일
0

Tool 사용법

목록 보기
1/1
post-thumbnail

Postman은 개발한 API를 테스트하고, 테스트 결과를 공유하여 API 개발의 생산성을 높여주는 플랫폼이다. 해당 URL에 요청할 메소드를 지정할 수 있고, 호출에 필요한 파라미터 전달 장식을 설정할 수 있으며 결과도 빠르게 확인이 가능하다.

Postman은 테스팅하는 GUI툴로 개발 생산성을 높여주는 프로그램이다. 윈도우, 리눅스, macOS 모두 지원하고 앱을 설치해서 실행하면 된다.

  • API 테스트
  • REST API 설계
  • Collection 생성 및 실행하기
  • Request 연결하기

세팅부터 기본실행

API Sample

  1. 포스트맨 앱 Install
  2. 회원가입
  3. workspace - 테스트 할 계정으로 진입
  4. New → HTTP Request 진입
  5. 테스트 get url 입력(https://httpbin.org/get)하고, Send 클릭하면 하단에 JSON 데이터가 불러와진다.

기본 기능

HTTP메서드: HTTP메서드(GET,POST,DELETE,PATCH...)를 선택할 수 있다.

URL: API의 URL을 작성한다.

Send: API를 실행한다.

Save: API를 저장한다.

Params: URL 파라미터를 Key - Value 형태로 지정하면, URL에 Query Parameter 형식으로 추가해준다.

Workspaces

포스트맨의 모든 기능을 볼 수 있는 뷰 화면으로, 개인 workspace와 팀 workspace로 구분될 수 있다. 팀 워크스페이스는 구성원들과 공유하기 위한 것이며, 실시간으로 데이터가 동기화 된다.

위 이미지와 같이, Workspace에서 목적에 맞는 형태의 워크스페이스를 생성할 수 있다.

Collection

Collection은 요청(Request)을 그룹화한 단위이며, 모든 요청은 특정 Collection에 포함되어 있어야 한다.

Collection에 속한 모든 요청에 대해 통합 테스트를 실행할 수 있기 때문에, 하나의 Workspace 내에서 자유롭게 테스트를 세분화/조직화 할 수 있다.

Collection 생성

  • 아래 파란 박스(3가지 방법)에서 Collection을 생성할 수 있다.

Share

포스트맨은 Coleection과 Environments를 타인과 공유할 수 있는 기능을 제공한다.

  • JSON 파일로 Export 하는 방법
  • Share Collection

Collection 리스트 우측 더보기 버튼을 클릭하면 Share Collection으로 진입하거나 Export도 가능

우측 뷰 화면에서 Share 버튼을 클릭하면 수행할 수 있다.

Share Collection

어느 workspace로 옮길 것인지, 해당 collection에 대한 권한을 설정할지에 대해 설정할 수 있다.

Request

실제로 API에 대해 Test를 해보려면, Request를 생성해줘야 한다.

위와 같이, 새로운 API Request 생성을 열어준다.

  1. 현재 어느 Request에 있는지 알려주는 알려주는 Tab, 이름
  2. HTTP Method: 보낼 요청의 메서드를 지정한다.
GET: 존재하는 자원에 대한 요청
POST: 새로운 자원을 생성
PUT: 존재하는 자원에 대한 변경
DELETE: 존재하는 자원에 대한 삭제
HEAD: 서버의 헤더 정보를 획득
OPTIONS: 서버 옵션들을 확인하기 위한 요청 (CORS에서 사용)
  1. URL: 요청할 URl을 이 곳에 작성하고, 파라미터 정보를 추가할 경우, 자동으로 url이 변경된다.
  2. 요청 전송 버튼(Send): 현재 설정한 Request를 전송한다.
    • 그에 대한 결과는 하단의 Response에 나타난다.
  3. Options: 요청한 URL 파라미터에 대한 정보나, 인증 / Header 정보 / Body 정보를 기입할 수 있다.
    • Pre-request Scripts, Tests : 요청 전 후 처리를 위해 사용하는 란
    • Body: 여러 포맷 형태로 데이터를 전송할 수 있다. (form-data, key-value...)
    • binary: 이미지나 동영상 등의 전송을 위해 사용한다.
  4. 쿠키 정보를 지정할 수 있다.
    • 쿠키 정보는 직접 넣을 수 있고, 응답 받았을 때 쿠키 정보가 있다면 자동으로 추가가 되기도 한다.

Response

포스트맨을 사용하는 가장 큰 이유 중에 하나는
프론트엔드를 배제하고, 서버 프로그램이 들어온 API 요청에 대해서 제대로 동작하는지 확인하기 위함이다. 요청에 대한 결과는 Request 뷰 하단의 Response로 들어오게 되며, Collection 내에 저장하거나, JSON 파일로 다운로드 할 수 있다.

Response는 body와 header, 상태 코드로 구성되며, HTTP 기본 스펙을 포함하고 있다. 물론 커스텀 메세지를 추가할 수도 있다.

  1. 상단에 상태 코드와 시간, 사이즈에 대한 정보는 별도 표시가 된다.
  2. 네 가지 형식으로 응답 결과를 확인할 수 있다.
    • Pretty: JSON이나 XML 응답을 좀 더 보기 편하도록 출력


응답의 결과는 두 가지 방식으로 저장할 수 있는데, Send 버튼에서 save and download 를 누르거나 Save 버튼을 누르면 된다.

포스트맨의 script

포스트맨은 Node.js 기반의 런타임을 포함하고 있어, Request와 Collection에 동적으로 동작을 추가할 수 있다. 이를 통해 동적 매개변수를 사용하거나, 요청간에 데이터를 전달하는 것이 가능하다. 이런 동적 작업을 수행하는 2가지 이벤트 흐름을 자바스크립트 코드를 작성할 수 있다.


- Pre-request Script: 요청이 서버로 보내지기 전에 실행할 내용을 작성하는 부분

- Tests Script: 응답이 반환된 후에 실행할 내용을 작성하는 부분

Script는 컬렉션의 모든 요청에 대해 항상 컬렉션 -> 폴더 -> 요청의 계층 구조에 따라 실행되며, 이는 Pre-request script와 test script에 모두 적용된다.

Pre-request script 란?

  • 요청이 전송되기 전에 실행되는 스크립트로, Request 헤더에 timestamp를 포함시키거나, URL 매개변수에 임의의 영숫자 문자열을 추가하고자 할 때 사용할 수 있다.

Test script 란?

  • 요청에 대한 응답을 받은 후에 실행되는 코드로, pre-request script와 달리 pm.response 객체에 대한 엑세스가 허용된다. 때문에 응답에 대한 테스트 스크립트를 작성해서, 해당 요청에 대한 결과가 의도한 대로 잘 왔는지 검증이 가능하다.
  • 상태 코드가 올바르게 왔는지, 응답의 내용이 제대로 왔는지, 원하는 변수가 사용 중인지 등 테스트하고자 하는 만큼 테스트 코드를 추가할 수 있다!

Reference

다시 볼것!
참고
참고
참고
참고

profile
이것저것 정리하는 공간

0개의 댓글