일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Kotlin in action 5장
- 백준
- 스프링 컨테이너와 스프링 빈
- Kotlin in action 6장
- 코틀린인액션
- 20055 컨베이어 벨트 위의 로봇
- 백준 13460 Python
- 고급매핑
- KotlinInAction
- kotlin in action 정리
- 스프링 핵심 원리 이해
- Kotlin
- 스프링 핵심 원리 - 기본편
- 자바 ORM 표준 JPA 프로그래밍 7장
- 백준 20055 컨베이어 벨트 위의 로봇
- 코틸린인액션
- spring
- 20055
- 스프링 핵심 원리
- 7장 고급매핑
- 코틀린
- 기능개발 python
- 객체 지향 설계와 스프링
- Kotlin In Action
- 컨베이어 벨트 위의 로봇 Python
- Kotlin in action 3장
- 싱글톤 컨테이너
- 13460 구슬탈출 2
- Kotlin in action 10장
- Python
- Today
- Total
기록하는 습관
테스트 자동화 (1) - Newman 본문
##1. Newman 이란?
Newman은 포스트맨을 cmd/터미널에서 실행시킬 수 있는 러너.
포스트맨에 만들어 놓은 컬렉션과 환경 변수를 지정해서 실행하고 테스트할 수 있다.
일반적으로 서버는 윈도우보다는 Unix 계열 OS를 많이 사용하기 때문에 newman을 설치해서 배치성이나 api 자동화 테스트하는 데 사용을 많이 한다.
Newman 을 사용하면 좋은 점
- 수동적이고 반복적으로 GUI를 조작해야하는 방식에서 벗어날 수 있다.
- Terminal상에서 실행하였을 시 바로 Feedback을 확인할 수 있다.
- 각종 CI/CD에 적용할 수 있다.
##2. 3가지 적용 방법
1) URL
Postman의 Web버전에서 Collection단위로 share하는 기능이 있다. 해당 기능을 이용하여 Public한 URL을 습득한 후, 터미널에서 아래와같이 실행해주면 된다.
- $newman run {COLLECTION_URL}
2) JSON
Collection을 json형태로 export한 다음, json파일을 parameter로 넘겨 실행하는 방법
- $newman run {filePath/COLLECTION.json}
3) API
API를 이용하여 실행하는 방법
- 일단 POSTMAN에서 API Key를 발급받습니다.
- 이후 해당 API Key를 가지고 Collection List를 조회합니다.
- 조회한 내용에서, 실행하고자하는 Collection의 uid 라는 element를 확인합니다.
- 실행하고자 하는 Collection의 environment와 그 variable들을 확인합니다.
- 위에서 얻은 정보들을 가지고 newman을 실행시킵니다.
Using Newman with the Postman API
1 Generate an API key
2 Fetch a list of your collections from: https://api.getpostman.com/collections?apikey=$apiKey
3 Get the collection link via it's uid: https://api.getpostman.com/collections/$uid?apikey=$apiKey
4 Obtain the environment URI from: https://api.getpostman.com/environments?apikey=$apiKey
5 Using the collection and environment URIs acquired in steps 3 and 4, run the collection as follows:$ newman run "https://api.getpostman.com/collections/$uid?apikey=$apiKey" \ --environment "https://api.getpostman.com/environments/$uid?apikey=$apiKey"
##3. 예시
실행 명령어
$ newman 컬렉션파일명.json -e 환경변수파일명.json # 환경변수를 사용한다면 -e 플래그와 함께 사용한다.
ex) $ newman run datacenter-internal.json -e datacenter_dev.postman_environment.json
주의사항
요청 중, form-data로 파일을 가지고 있는 요청이 있다면 .json 파일에 수동으로 파일 경로에 대한 정보를 기재해 주어야 한다.
참고사항
젠킨스 관련 에러 해결
- npm: command not found
- 플러그인 설치: Jenkins 관리 → 플러그인 관리 → 설치된 플러그인 목록 → NodeJS 설치 되어 있는지 확인
- 안되어 있으면, 설치 진행
- Jenkins 관리 → Global Tool Configuration → NodeJS 17.x version으로 추가 설치 후 적용
- 해당 방법으로 성공.
- 플러그인 설치: Jenkins 관리 → 플러그인 관리 → 설치된 플러그인 목록 → NodeJS 설치 되어 있는지 확인
- newman: command not found
- 환경변수(PATH) 추가
- 참고: https://github.com/postmanlabs/newman/issues/778
참고 링크
'개발 > Test' 카테고리의 다른 글
[Test] Redis 저장 (for vs. stream) (0) | 2022.07.13 |
---|---|
[Test] Redis 조회 테스트 (0) | 2022.07.13 |