API 테스팅 도구인 POSTMAN으로 API 테스트를 작성하고 Newman을 통해 GitHub Action에 통합하기(업데이트: 2023년 5월 22일)
POSTMAN이란?
Postman은 API 테스트 수행하기 위해 널리 사용되는 API 테스트 도구이다. 웹 서버에 API 요청을 보내고 응답을 받기 위한 GUI 인터페이스를 제공한다. 실제 실무에서 API를 테스팅하기 위해 많이 사용하며 GET/POST와 같은 HTTP 메소드는 물론 다양한 Auth0와 같은 다양한 인증 기능을 활용할 수 있다.
Newman을 활용해서 API 테스팅 자동화하기
- 먼저 POSTMAN 에서 API 테스트를 작성한다.
- GitHub Action에 POSTMAN API 테스트를 통합하기 위해 작성한 테스트를 Export 한다.
- Export 버튼은 API 컬렉션을 클릭하고 우측 상단의 “…” 을 클릭하면 Export 메뉴를 확인할 수 있다.
- 해당 메뉴를 클릭하면 아래와 같은 Export 팝업 창이 표시된다.
- Export 버튼은 API 컬렉션을 클릭하고 우측 상단의 “…” 을 클릭하면 Export 메뉴를 확인할 수 있다.
3. Export 버튼을 누르면 POSTMAN 컬렉션에 포함된 API 테스트 케이스가 JSON 파일 형태로 다운로드 된다.
4. GitHub 마켓플레이스(https://github.com/marketplace)에서 Newman 을 검색한다.
Postmanlabs/newman을 클릭한다.
참고로 Newman은 POSTMAN의 CLI 버전이라고 생각하면 된다.
5. Newman Acton을 활용해서 아래와 같이 workflow 파일(예를 들어 newman.yml)을 .github/workflows 폴더에 작성한다.
name: Newman Integration
on:
push:
branches:
- main
jobs:
newman:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Run Newman
uses: postmanlabs/newman-action@v2
with:
collection: path/to/your/collection.json
environment: path/to/your/environment.json
또 다른 방법도 있다.
위의 postmanlabs/newman-action를 사용하지 않고 GitHub 파이프라인에서 직접 Newman을 설치해서 실행할 수 있다.
.github/workflows 디렉토리에 newman.yml 파일을 아래 예시와 같이 생성한다.
name: Newman Integration
on:
push:
branches:
- main
jobs:
newman:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install Node.js
uses: actions/setup-node@v2
with:
node-version: 14
- name: Install dependencies
run: npm ci
- name: Run Newman
run: npx newman run path/to/your/collection.json -e path/to/your/environment.json
위의 workflow파일은 Node.js를 설치하고 npx newman run 명령어를 사용해서 Newman을 실행한다.
참고: