david's daily developer note

[BE] 포스트맨 + 엑셀 조합으로 API 실행 자동화 -1 (Authorization) 본문

[Develop] Web/Back-end

[BE] 포스트맨 + 엑셀 조합으로 API 실행 자동화 -1 (Authorization)

mouse-david 2023. 9. 19. 22:50
728x90

해당 포스트에서는 포스트맨을 사용하여, 엑셀로 부터 데이터를 읽어 API 실행을 자동화하는 방법을 설명한다.

설명의 예시에서는 인증/인가부터 암호화 키를 받아오는 것까지 (예시를 위한 설정함) 다양한 API를 묶어서 순차적으로 수행하는 시나리오를 가정한다. 대략적인 순서는 다음과 같다.

1. 인증 정보 (Session,Token)를 Collection Variables에 담기
3. RSA 암호화 JS 모듈 불러오기 및 비밀번호 암호화하기 (Pre-request Script)
4. HTML Response에서 특정 요소 읽어오기
5. Excel Row 읽어서 Collection 단위로 실행 자동화하기

 

Collection 생성

1. API 자동화 단위는 Collection이다. 포스트맨 우상단, API 워크트리에서 다음 버튼을 눌러서 컬렉션을 추가한다.


인증 정보 (Session,Token)를 Collection Variables에 담기

1. API 인증 정보를 획득하는 요청을 생성한다.

2. TOKEN 획득이 필요한 경우에는 생성한 Collection Variables에 TOKEN 변수를 추가한다.

3. API 인증 정보 획득 요청의 Tests 탭에서 다음 코드를 작성한다.

pm.test('JWT Suceess', function() {
    var jsonData = pm.response.json();
    pm.collectionVariables.set('TOKEN', jsonData.accessToken)
})

Tests 탭에 작성된 코드는 API가 수행되고 호출된다. 해당 코드는 요청이 성공했다면, 토큰 정보를 Collection Variables의 'TOKEN' 변수에 저장하는 코드이다.

4. Collection Authorization탭에서 인증 유형과 TOKEN 변수를 입력한다.

API Authorization에서 인증 유형을 다음 그림과 같이 설정하면, API에서 자동으로 인증이 적용된다.
아래 설정은 기본값이므로, 특별히 변경하지 않는다면, Collection내에서 수행되는 모든 요청에 적용된다.


Session의 경우에는 포스트맨에서 자동으로 저장되고, Collection내에서 요청시 적용되므로, 별다른 설정할 필요는 없다.
아래는 요청 성공후, Session정보를 받아서 저장하는 참고 예시이다.

pm.test('Session Suceess', function() {
    var cookies = pm.cookies.get('SESSION_NAME');
    pm.collectionVariables.set('SESSION', cookies);
})

여기까지 진행하면, Collection 단위 API 요청할 기본 준비가 완료되었다.

2023.09.19 - [[Develop] Web/Back-end] - [BE] 포스트맨 + 엑셀 조합으로 API 실행 자동화 -2 (RSA)

728x90