728x90
반응형
API를 테스트 할 때 POSTMAN 을 많이 활용합니다.
API 배포 후 테스트 자동화를 위해 Spring Batch 로 command line 기반으로 collections 를 실행 가능한 Newman 을 사용해 보았습니다.
요구사항은 아래와 같이 정의하였습니다.
- 서버별 주기적인 서비스 Flow 테스트
- 배포가 되면 바로 서비스 Flow 테스트
- 도메인에 해당하는 모든 서버에 대해 테스트
- Eureka에서 도메인별 서버 리스트 조회
- 테스트 결과에 대한 리포트
- reporter로 html 생성하여 이메일 발송
- 테스트 스크립트 버전 관리
Newman 설치 방법은 아래와 같습니다. newman과 newman-reporter 설치하였습니다.
yum install -y npm
# https://github.com/postmanlabs/newman
npm install -g newman
# https://github.com/DannyDainton/newman-reporter-htmlextra
npm install -g newman-reporter-htmlextra
Newman 기본 명령어는 아래와 같습니다.
$ newman run examples/sample-collection.json
# collection file 은 URL 형태로도 가능
$ newman run https://www.getpostman.com/collections/631643-f695cab7-6878-eb55-7943-ad88e1ccfd65-JsLv
# reporter 사용
$ newman run examples/sample-collection.json -r cli,json
cli 옵션을 통해 콘솔에 결과를 노출한 결과는 아래와 같습니다.
java 단에서는 Runtime.exec의 인자로 newman을 실행하였습니다.
newman run http://127.0.0.1:80/v1/job/newman/collection/STROLL-API-MAP \
-e http://127.0.0.1:80/v1/job/newman/env/DEV.postman_environment.json \
-d http://127.0.0.1:80/v1/job/newman/data/STROLL-API-MAP-DEV \
-r cli,htmlextra --reporter-htmlextra-export /data/stroll-batch-map/STROLL-API-MAP-DEV.html
DiscoverClient를 통해 Eureka에서 도메인에 해당하는 서버 리스트를 받아오고
/actuator/info를 통해 각 서버의 application Version이 변경했는지 주기적으로 체크하였습니다.
html report 파일을 파싱하여 오류가 발생한 경우 smtp를 통해 html report 파일을 담당자에게 발송하였습니다.
728x90
반응형
'프로그래밍 > Java' 카테고리의 다른 글
[IntelliJ IDEA] 단축키 (1) | 2021.03.19 |
---|---|
[인프런] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 (0) | 2021.02.26 |
[프로그래머스] 자바 입문 강의 (0) | 2021.02.26 |
Animated GIF (3) | 2020.11.10 |
구글 번역 API 무제한 (0) | 2020.09.21 |
SSL 인증서 JAVA CA 인증서에 추가 (0) | 2020.09.21 |
DA# DB모델링 (0) | 2020.07.14 |
Eclipse에서 Lombok 과 MapStruct 사용 (2) | 2020.07.10 |