Postman에서 요청의 본문을 조건부로 설정하는 방법은 무엇인가요?
_____A: Postman에서는 스크립트(Pre-request Script)와 변수(환경변수, 컬렉션 변수 등)를 활용하여 요청 본문을 조건부로 변경할 수 있습니다. 일반적으로 다음 단계를 따릅니다.
1. 환경변수 또는 스크립트 변수 설정
- 조건에 따른 값을 저장할 변수를 정의합니다.
- 예: `pm.environment.set("requestBody", JSON.stringify({ key: "value" }));`
2. Pre-request Script에서 조건 검사 및 변수 설정
- `pm` 객체를 사용해 조건문을 작성합니다.
- 조건에 맞게 변수에 요청 본문 내용을 JSON 형태 등으로 저장합니다.
```javascript
if (pm.environment.get("condition") === "A") {
pm.environment.set("requestBody", JSON.stringify({ data: "valueA" }));
} else {
pm.environment.set("requestBody", JSON.stringify({ data: "valueB" }));
}
```
3. 요청 Body에서 변수 참조
- ‘raw’ 타입의 Body에 변수 구문을 넣습니다.
- 예:
{{requestBody}}
```
- 변수 `requestBody`가 JSON 문자열이므로, Body 영역에 그대로 넣으면 JSON 요청 본문이 동적으로 설정됩니다.
----
추가 팁:
- Body를 완전히 스크립트로 제어하고 싶다면 Pre-request Script에서 `pm.request.body.update()` 메서드를 사용하여 본문을 동적으로 변경할 수도 있습니다.
```javascript
if (조건) {
pm.request.body.update(JSON.stringify({ key: "value1" }));
} else {
pm.request.body.update(JSON.stringify({ key: "value2" }));
}
```
- 그러나 이 방법은 Postman 앱 버전에 따라 지원 여부가 달라질 수 있으니, 보통 변수와 템플릿 방식을 권장합니다.
----
요약:
Postman에서 요청 본문을 조건부로 설정하려면, Pre-request Script에서 조건문으로 변수를 세팅하고, 요청 Body에서 해당 변수를 받아 사용하는 방식이 가장 일반적이고 안정적입니다.
조건부 요청 본문 설정은 주로 Pre-request Script와 Tests 탭을 활용하여 구현됩니다.
아래에서는 이 과정을 단계별로 설명하겠습니다.
1. Pre-request Script 사용하기 Postman의 Pre-request Script는 요청이 전송되기 전에 실행되는 JavaScript 코드를 작성할 수 있는 공간입니다.
이 스크립트를 사용하여 요청 본문을 동적으로 설정할 수 있습니다.
예제: 가정해보겠습니다.
특정 조건에 따라 요청 본문을 다르게 설정하고 싶습니다.
예를 들어, `isTest`라는 변수가 `true`일 경우와 `false`일 경우에 따라 다른 본문을 설정할 수 있습니다.
1. Pre-request Script 작성 : ```javascript // 조건 변수 설정 const isTest = pm.environment.get("isTest"); // 요청 본문 설정 let requestBody; if (isTest) { requestBody = { "message": "This is a test message." }; } else { requestBody = { "message": "This is a production message." }; } // 요청 본문을 설정 pm.request.body.raw = JSON.stringify(requestBody); ```
2. 환경 변수 설정 : Postman의 환경 변수에서 `isTest` 변수를 `true` 또는 `false`로 설정합니다.
3. 요청 보내기 : 요청을 보내면, `isTest` 변수의 값에 따라 요청 본문이 다르게 설정됩니다.
2. Tests 탭 활용하기 Tests 탭에서도 조건부 로직을 사용하여 요청 본문을 설정할 수 있습니다.
하지만 Tests 탭은 요청이 완료된 후에 실행되므로, 주로 응답에 따라 다음 요청의 본문을 설정하는 데 사용됩니다.
예제: 1. 첫 번째 요청의 Tests 탭에 작성 : ```javascript // 응답 상태 코드에 따라 다음 요청의 본문 설정 if (pm.response.code === 200) { pm.environment.set("isTest", true); } else { pm.environment.set("isTest", false); } ```
2. 두 번째 요청의 Pre-request Script에 작성 : 위에서 설명한 Pre-request Script를 사용하여 `isTest` 변수에 따라 요청 본문을 설정합니다.
3. Postman Collection Runner 사용하기 Postman Collection Runner를 사용하면 여러 요청을 순차적으로 실행할 수 있습니다.
이 경우, 각 요청의 Pre-request Script와 Tests를 활용하여 조건부 로직을 설정할 수 있습니다.
예를 들어, 첫 번째 요청의 결과에 따라 두 번째 요청의 본문을 다르게 설정할 수 있습니다.
4. Postman에서 요청의 본문을 조건부로 설정하는 방법은 Pre-request Script와 Tests 탭을 활용하는 것입니다.
이를 통해 API 테스트를 보다 유연하게 수행할 수 있으며, 다양한 시나리오에 맞춰 요청 본문을 동적으로 변경할 수 있습니다.
이러한 기능을 잘 활용하면 API의 다양한 상태와 응답을 효과적으로 테스트할 수 있습니다.
작성자:
최수현 [비회원]
| 작성일자: 1년 전
2024-11-24 07:41:45
조회수: 177 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 177 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.