DevOps 환경에서 API 테스트 자동화를 위해 Jenkins, Postman, Newman을 활용하는 방법
1. Postman으로 API 테스트케이스 작성
- API 테스트 생성하고 테스트하기
- Postman 테스트 Script 참고 : https://learning.postman.com/docs/postman/scripts/test-scripts/
- 참고로 API 테스트를 실패한 모습
- Collection화일을 export하여 저장하기(Jenkins에서 구동하기 위해)
2. Newman 설치
- CLI로 Postman의 테스트 화일을 구동시켜주는 프로그램입니다.
- 참고 : https://learning.postman.com/docs/postman/collection-runs/command-line-integration-with-newman/
2.1. nodejs 설치
- apt-get install curl
- curl -sL https://deb.nodesource.com/setup_6.x|bash
- apt-get install -y nodejs
2.2. Newman 및 Reporting 설치
- npm install -g newman
- npm install -g newman-reporter-html
3. 형상관리에 저장
- 저장된 Collaction 화일을 Jenkins Build시 읽기 위해 형상관리에 저장
4. Jenkins로 Build
4.1.Pipeline에 Job 작성
- collection 화일로 postman의 테스크케이스 구동
newman run src/test/postman/[Get]helloworld.postman_collection.json - JUnit 테스트 결과와 같은 xml 포멧으로 API 테스트 결과 저장
— reporters cli,junit — reporter-junit-export ‘newman/NEWMAN-myreport.xml’ (주의 : cli, junit의 쉼표 다음에 띄어쓰면 안됨) - 상세 설명 참고
– https://www.npmjs.com/package/newman
– https://www.toolsqa.com/postman/generate-newman-reports-on-jenkins/
4.2. Jenkins Job 실행 결과
- Build 결과
(참고로 기존 JUnit 테스트 4개에 API 테스트 7개가 추가되어 총 11개)
- Console Output
4.3. 실행 결과 보기
- Newman에 의해 테스트 된 API 테스트 결과 확인
- 참고로 Postman과 Jenkins(Newman) 결과 비교
- 테스트 현황
4.4. 만약 API 테스트 결함이 있는 경우
- 한개의 API 테스트 결함이 발생 된 경우