API Test/POSTMAN2025. 3. 25. 08:00

008. POSTMAN을 사용하여 특정 범위의 난수를 어떻게 생성 하는 방법 알아보았어요

 

POSTMAN을 사용하여 특정 범위의 난수를 어떻게 생성 하는 방법

 

 

1. Pre-request Script에서 변수 정의하기

먼저, 요청 전에 실행되는 Pre-request Script를 사용하여 랜덤 숫자를 생성하고 변수를 설정할 수 있습니다.

예를 들어, 0부터 4까지의 랜덤 정수를 생성하려면 다음과 같이 작성하시면 됩니다:

javascript
pm.globals.set('randomNum', Math.floor(Math.random() * 5));

코드 설명:

  • Math.random()은 0 이상 1 미만의 난수를 생성합니다.
  • 여기에 5를 곱하면 0 <= 결과값 < 5 범위의 숫자가 됩니다.
  • Math.floor()를 사용하여 소수점을 버리고 정수 부분만 취합니다.
  • pm.globals.set('randomNum', value)를 통해 글로벌 변수 randomNum에 값을 저장합니다.

2. 특정 범위의 랜덤 숫자 생성하기

특정 범위의 랜덤 숫자를 생성하려면 최소값(min)과 최대값(max)을 설정하고 다음 공식을 사용합니다:

javascript
var min = 최소값;
var max = 최대값;
var randomNumber = Math.floor(Math.random() * (max - min + 1)) + min;
pm.globals.set('randomNum', randomNumber);

예시: 1부터 10까지의 랜덤 숫자 생성

javascript
var min = 1;
var max = 10;
var randomNumber = Math.floor(Math.random() * (max - min + 1)) + min;
pm.globals.set('randomNum', randomNumber);

코드 설명:

  • (max - min + 1)은 원하는 숫자 범위의 개수를 의미합니다.
  • Math.random()에 이 값을 곱하여 min부터 max까지의 범위로 스케일링합니다.
  • min을 더하여 최소값부터 시작하도록 조정합니다.

3. URL에서 변수 사용하기

이제 요청의 URL이나 본문에서 해당 변수를 사용할 수 있습니다. 변수는 {{변수명}} 형식으로 호출합니다.

예시:

 
GET https://api.example.com/data/{{randomNum}}

이렇게 하면 요청을 보낼 때마다 {{randomNum}} 부분이 생성된 랜덤 숫자로 대체됩니다.

4. 추가적인 활용 방법

  • 환경 변수 사용하기: 글로벌 변수 대신 환경 변수를 사용하면 다양한 환경(dev, staging, production)에서 변수 값을 관리하기 편리합니다.
  • javascript
    pm.environment.set('randomNum', randomNumber);
    
  • 다른 데이터 타입의 랜덤 값 생성하기: 문자나 배열에서 랜덤하게 값을 선택하려면 배열을 사용합니다.
  • javascript
    var items = ['apple', 'banana', 'cherry'];
    var randomItem = items[Math.floor(Math.random() * items.length)];
    pm.globals.set('randomItem', randomItem);
    
  • 테스트 스크립트에서 활용하기: 생성된 랜덤 값으로 응답 데이터를 검증하거나 조건부 로직을 추가할 수 있습니다.

5. Postman에서 랜덤 데이터 활용의 이점

  • 자동화된 테스트 시나리오: 매번 다른 입력 값을 테스트하여 API의 안정성과 응답 처리를 검증할 수 있습니다.
  • 부하 테스트: 다양한 랜덤 데이터를 사용하여 API의 성능을 테스트할 수 있습니다.
  • 동적 요청 구성: 사용자 인증 토큰이나 타임스탬프와 같이 변경되는 데이터를 자동으로 생성하여 요청에 포함시킬 수 있습니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터