how when use postman pre request
이 자습서에서는 간단한 예제를 사용하여 Postman 사전 요청 스크립트 및 사후 요청 스크립트 또는 테스트를 사용하는 방법과시기를 설명합니다.
단위 테스트 세계와 유사하게 사전 요청 스크립트는 테스트가 실행되기 전에 발생하는 설정일뿐입니다. 마찬가지로 Postman에서 특정 방식으로 요청을 수정하려는 경우 사전 요청 스크립트는 요청 실행이 시작되기 전에 보장하는 해당 논리 또는 코드를 넣는 곳입니다.
=> 여기에서 간단한 우편 배달부 교육 시리즈를보십시오.
학습 내용 :
우편 배달부 요청 흐름
먼저 Postman이 요청 실행 컨텍스트에서 사전 및 테스트 스크립트를 실행하도록 설정하거나 허용하는 방법을 이해해 보겠습니다. Postman에는 요청 실행 전후에 스크립팅 기능을 추가 할 수있는 Node JS 기반의 강력한 런타임이 있습니다.
스크립트는 Postman 샌드 박스가 원하는대로 이해하고 실행하는 Javascript 코드 일뿐입니다.
Postman 요청 흐름을 이해하려면 아래 그림을 참조하십시오.
다음은 비디오 자습서입니다.
사전 요청 스크립트는 Postman에서 요청 실행을위한 진입 점입니다. 실제 요청 실행이 수행되고 응답이 수신되면 먼저 실행되는 사전 요청 스크립트의 일부로 추가 된 스크립트 / 로직이 있으면 테스트 또는 요청 후 스크립트가 실행됩니다.
사전 요청 스크립트
사전 요청 스크립트는 요청 실행이 시작되기 전에 실행되도록 보장되는 논리 또는 코드입니다. 요청 실행에 동적 동작을 추가 할 수 있습니다.
여기에서 사전 요청 스크립트는 컬렉션 수준에서도 적용 할 수 있습니다. 즉, 사전 요청 스크립트가 해당 컬렉션의 일부인 모든 요청에 적용된다는 것을 간접적으로 의미합니다.
컬렉션 레벨 사전 요청 스크립트 및 테스트가있을 때 요청 흐름을 보려면 아래 그림을 참조하십시오.
사전 요청 스크립트는 언제 사용합니까?
사전 요청 스크립트는 일반적으로 요청이 실행되기 전에 사전 처리가 필요할 때 유용합니다.
#1)예를 들면, 요청이 타사 서버에서 검색해야하는 보안 토큰을 예상하고이 값은 모든 요청 실행에 따라 변경되므로 환경 / 글로벌 변수로도 지속될 수 없다고 가정합니다.
사전 요청 스크립트는 이러한 로직을 실행 한 다음 요청 실행과 함께 사용하기에 완벽한 장소입니다.
이 경우 사전 요청 스크립트를 사용하는 방법의 예를 살펴 보겠습니다. 설명을 위해 동일한 GET API 엔드 포인트를 사용합니다. https://reqres.in/api/users/{(randomVal}}
여기서 {{randomVal}}은 사전 요청 스크립트에서 계산되는 1에서 10 사이의 임의의 정수입니다.
다음은 스크립트 흐름입니다.
- 사전 요청 스크립트 탭에서 논리를 추가합니다. 1 t0 10 사이의 난수를 생성합니다.
var random = Math.floor(Math.random() * 10); pm.variables.set('randomVal',random)
- 생성 된 난수를 환경 또는 지역 변수에 저장합니다. 위의 코드 스 니펫에서 1에서 10 사이의 임의 값을 생성하여 'randomVal'이라는 로컬 변수에 저장했음을 알 수 있습니다.
- 환경 변수를 요청 본문의 일부로 사용하십시오.
- 요청을 실행하십시오.
- 결과를 검증하십시오. 요청에 여러 번 적중을 시도하고 임의 변수 사전 스크립트를 통해 생성 된 여러 userId 값에 대해 적중 요청을 확인할 수 있습니다.
#두) 사전 요청 스크립트는 특정 헤더 관련 작업을 원할 때도 유용합니다. 예를 들면 무작위로 생성되어야하고 일반적으로 base 64 인코딩 또는 처리와 같은 다른 변환이 필요한 세션 ID를 예상하는 요청 헤더.
컬렉션과 함께 사전 요청 및 사후 요청 스크립트 사용
위에서 설명한 것처럼 사전 요청 스크립트는 컬렉션 수준에서도 적용 할 수 있습니다. 이러한 스크립트는 컬렉션에서 사용할 수있는 모든 요청에 적용됩니다. 사전 요청 스크립트와 마찬가지로 테스트 또는 사후 요청 스크립트도 컬렉션에 적용 할 수 있습니다.
컬렉션 수준의 사전 요청 스크립트 및 테스트의 그림을 살펴보고 컬렉션 내의 각 요청에 대해 스크립트가 실행되는 것을 살펴 보겠습니다.
다음 테스트 엔드 포인트와 함께 2 개의 요청이있는 Postman 컬렉션을 사용합니다.
- 가져 오기 https://reqres.in/api/users/1
- 게시하다 https://reqres.in/api/register 요청 본문은 2 개의 필드 (예 : emailId 및 비밀번호)가있는 JSON 형식입니다.
이러한 요청에 대해 다음 컬렉션 수준 스크립트를 추가합니다.
C ++에서 정적 변수 선언
- 사전 요청 : 'Content-Type'이라는 새 헤더를 추가하고 헤더 값을 'application / json'으로 설정합니다.
- 테스트: 테스트 또는 사후 요청 유효성 검사로 반환 된 응답에 HTTP 상태 코드 200이 있는지 여부를 확인합니다.
아래 단계를 따르십시오
#1) 위의 요청 GET 및 POST를 사용하여 새 Postman 컬렉션을 만듭니다.
#두) 마우스 오른쪽 버튼으로 클릭 컬렉션-> 편집 선택 컬렉션 수준에서 사전 요청 스크립트 및 테스트를 추가합니다.
에) 사전 요청 스크립트의 경우 컬렉션 편집 창에서 사전 요청 스크립트 탭을 선택하고 아래 스크립트를 추가합니다 (이 스크립트는 컬렉션 내의 모든 요청에 대해 값이 application / JSON 인 'Content-Type'이라는 헤더를 추가합니다). .
pm.request.headers.add({ key: 'Content-Type', value: 'application/json' });
C ++에서 정의되지 않은 참조는 무엇을 의미합니까?
비) 테스트 또는 사후 요청 스크립트를 추가하려면 '테스트'탭에 아래 스크립트를 추가하십시오. (이 스크립트는 컬렉션 내에있는 모든 요청에 대해 HTTP 상태 200으로 응답을 검증하는 테스트를 추가합니다.)
pm.test('Status code is 200', function () { pm.response.to.have.status(200); });
씨) 스크립트가 추가되면 '업데이트'를 클릭하여 변경 사항을 저장합니다.
#삼) 이제 컬렉션 내에서 요청을 실행하고 컬렉션 수준에서 지정된 사전 요청 스크립트와 테스트가 제대로 설정되었는지 확인해 보겠습니다.
# 4) 첫 번째 GET 요청을 열고 클릭하여 실행하십시오. '보내다' 단추. 요청 헤더를보기 위해 Postman 애플리케이션을 통과하는 모든 요청에 대한 완전한 요청-응답 세부 정보를 보여주는 Postman 콘솔을 사용할 수 있습니다.
나중에 Postman 콘솔에 대해 자세히 설명하지만이 자습서에서는 요청 헤더의 유효성을 검사하는 데 사용합니다.
콘솔을 열려면 Postman 애플리케이션의 왼쪽 하단에있는 콘솔 아이콘을 클릭하거나 창 메뉴에서 콘솔 옵션을 선택하십시오 (Windows OS 및 Postman 애플리케이션에서 유사한 옵션을 사용할 수 있습니다).
# 5) 요청 후 스크립트 또는 테스트의 유효성을 검사하려면 실행 된 요청의 '테스트'탭을 확인하기 만하면 컬렉션 수준에서 추가 된 상태 코드를 200으로 확인하는 테스트가 표시되어야합니다.
수집 수준 스크립트를 통해 달성 한
- 컬렉션 수준에서 사전 요청 스크립트 및 테스트를 추가하면 유지 관리가 쉽습니다. 예, 모든 요청에 공통 헤더 추가, 제 3자를 통한 요청에 대한 세션 토큰 생성 등이 포함됩니다.
- 응답 코드 유효성 검사와 같은 일반적인 스크립트 / 테스트는 반복을 피하기 위해 컬렉션 수준에 배치 할 수 있습니다.
결론
이 튜토리얼에서는 사전 요청 스크립트와 테스트 또는 사후 요청 스크립트에 대해 살펴 보았습니다. 또한 반복을 피하기 위해 컬렉션 수준에서 이러한 스크립트를 사용하고 컬렉션 수준 자체에 공통 스크립트를 배치하는 예제를 살펴 보았습니다.
사전 요청 스크립트와 테스트는 모두 Postman의 매우 강력하고 중요한 기능이며 특히 REST 기반 API 엔드 포인트에 대한 종단 간 통합 테스트를 만드는 데 많은 가치를 추가합니다.
=> 처음부터 우편 배달부를 배우려면 여기를 방문하십시오.
추천 도서
- POSTMAN 자습서 : POSTMAN을 사용한 API 테스트
- 다른 API 형식을 테스트하기 위해 Postman을 사용하는 방법?
- Postman에서 어설 션으로 응답 검증 자동화
- JMeter에서 FTP 요청 작업
- JMeter의 Xpath 추출기 포스트 프로세서
- 요청 및 응답 데이터를 파일에 저장하는 빠른 SoapUI 가이드 – SoapUI 자습서 # 15
- JMeter (정규식 추출기)에서 포스트 프로세서 사용
- Postman 컬렉션 : 코드 샘플 가져 오기, 내보내기 및 생성