API 테스트를 수동으로 반복하는 것은 시간이 많이 걸리고 비효율적입니다.
Postman과 Newman을 활용하면 API 테스트를 자동화하여 효율성을 극대화할 수 있습니다.
이 글에서는 초보자도 쉽게 따라 할 수 있도록 Postman에서 API 요청을 생성하는 방법부터 Newman을 사용해 자동으로 실행하는 과정까지 단계별로 설명합니다.
✅ Postman에서 API 요청을 만들고 테스트 코드 추가하기
✅ 컬렉션을 내보내고 Newman을 통해 테스트 자동화하기
✅ 테스트 실행 후 결과를 확인하고 문제 해결하기
Postman을 사용해 본 경험이 있다면, 이 글을 참고하시어 Newman을 활용한 API 테스트 자동화를 경험해 보시길 바랍니다.! 🚀
📌 1. Postman과 Newman이란?
🔹 Postman이란?
- 웹사이트나 앱이 서로 대화하는 방식을 API라고 합니다.
- Postman은 API 요청을 쉽게 만들고 테스트할 수 있도록 도와주는 도구입니다.
- 마우스 클릭만으로 API 요청을 보내고, 응답을 확인할 수 있습니다.
🔹 Newman이란?
- Postman에서 만든 API 테스트를 명령어(Command Line)에서 자동 실행할 수 있도록 도와주는 도구입니다.
- 마치 Postman의 비서처럼, 우리가 설정한 테스트를 대신 실행해 줍니다.
- 여러 API 요청을 한꺼번에 실행하고, 테스트 결과를 파일로 저장할 수도 있습니다.
📌 2. 사전 준비: 필요한 프로그램 설치
Newman을 사용하려면 Postman과 Node.js가 설치되어 있어야 합니다.
✅ 1) Postman 설치
- 👉 Postman 공식 사이트에서 다운로드 후 설치합니다.
- 설치 후 Postman을 실행하세요.
✅ 2) Node.js 설치
Newman은 Node.js 환경에서 실행되므로, Node.js가 필요합니다.
- 👉 Node.js 공식 사이트에서 다운로드 후 설치합니다.
- 설치가 완료되면 터미널을 열고 아래 명령어를 입력해 확인하세요.
node -v
✔️ vXX.XX.XX 형태의 버전이 출력되면 정상 설치된 것입니다.
📌 3. Postman에서 API 요청 만들기
✅ 1) 새로운 API 요청 생성
- Postman 실행
- 상단의 + New Tab 클릭
- Request Type을 GET으로 설정
- API 요청 URL 입력 (예: JSONPlaceholder API 사용)
https://jsonplaceholder.typicode.com/posts/1
- Send 버튼 클릭
- 정상적으로 API가 동작하면 응답(Response) 데이터가 화면에 나타납니다.
✅ 2) 요청을 저장하고 컬렉션(Collection) 만들기
- 오른쪽 상단 Save 버튼 클릭
- 새로운 컬렉션(Collection) 생성
- New Collection 클릭 → 이름 입력 (예: My API Tests)
- 컬렉션에 요청을 추가
- Save to My API Tests 클릭
✔️ 이렇게 하면 API 요청이 저장됩니다.
📌 4. Postman에서 API 테스트 자동화 설정
Newman을 실행하려면 API 테스트 스크립트를 추가해야 합니다.
✅ 1) 테스트 코드 추가
- Postman에서 만든 API 요청을 엽니다.
- 아래 Tests 탭을 클릭합니다.
- 테스트 코드 추가 (예제 코드)
pm.test("응답이 정상적으로 도착해야 합니다", function () {
pm.response.to.have.status(200);
});
pm.test("응답에 title 필드가 있어야 합니다", function () {
var jsonData = pm.response.json();
pm.expect(jsonData).to.have.property("title");
});
- Save 버튼 클릭 후 Send 버튼 클릭
- 정상적으로 동작하면 테스트 결과가 화면에 나타납니다.
✔️ 이렇게 하면 API 테스트가 설정되었습니다.
📌 5. Postman에서 컬렉션 및 환경 파일 내보내기
✅ 1) 컬렉션(Collection) 내보내기
이제 Newman에서 실행할 수 있도록 컬렉션을 JSON 파일로 내보냅니다.
- 왼쪽 Collections 탭에서 My API Tests 선택
- 컬렉션 오른쪽 …(점 3개) 클릭 → Export 선택
- Collection v2.1 (recommended) 형식으로 내보내기
- 파일 저장 위치를 Desktop 또는 Documents에 지정
- 예: /Users/사용자이름/Desktop/My_API_Tests.postman_collection.json
✅ 2) 환경 파일(Environment) 내보내기 (필요한 경우)
API 요청에서 환경 변수를 사용했다면, 환경 파일도 함께 내보내야 합니다.
- Postman 상단 Environments 클릭
- 사용 중인 환경 선택
- 오른쪽 …(점 3개) 클릭 → Export 선택
- 파일을 바탕화면(Desktop) 등에 저장
- 예: /Users/사용자이름/Desktop/My_Environment.postman_environment.json
📌 6. Newman 설치
이제 터미널을 열고, Newman을 설치합니다.
npm install -g newman
✔️ 설치 확인:
newman -v
✔️ x.x.x 버전이 출력되면 정상적으로 설치된 것입니다.
📌 7. Newman 실행
✅ 기본 실행 (환경 파일 없이)
newman run /Users/사용자이름/Desktop/My_API_Tests.postman_collection.json
✅ 환경 파일과 함께 실행
newman run /Users/사용자이름/Desktop/My_API_Tests.postman_collection.json -e /Users/사용자이름/Desktop/My_Environment.postman_environment.json
📌 8. Newman 실행 결과 (출력 예시)
✅ 테스트 성공 시
→ My API Tests
GET https://jsonplaceholder.typicode.com/posts/1 [200 OK, 512B, 289ms]
✓ 응답이 정상적으로 도착해야 합니다
✓ 응답에 title 필드가 있어야 합니다
❌ 테스트 실패 시
→ My API Tests
GET https://jsonplaceholder.typicode.com/posts/1 [200 OK, 512B, 289ms]
✗ 응답에 title 필드가 있어야 합니다
AssertionError: expected {} to have property 'title'
✔️ 성공하면 모든 테스트가 통과되었다는 메시지가 나옵니다.
❌ 테스트가 실패하면 실패한 이유와 함께 오류 메시지가 표시됩니다.
'공부 > 개발' 카테고리의 다른 글
SQLD 기초 공부 기록 – 데이터베이스 기본 개념 정리 (0) | 2025.02.22 |
---|---|
오늘의 파이썬 학습 기록 – 딕셔너리(Dictionary) 활용하기 (0) | 2025.02.22 |
파이썬 for문과 while문의 차이점 완벽 정리! (0) | 2025.02.19 |
오늘의 파이썬 학습 기록 – while 반복문 (0) | 2025.02.18 |
파이썬 리스트(List)와 튜플(Tuple)의 차이점 완벽 정리! (0) | 2025.02.17 |