콘텐츠로 이동

5 분 만에 REST API 테스트하기

목표는 OpenAPI 명세에서 출발해 하나의 전체 흐름을 검증하는 자동 테스트에 도달하는 것입니다.

파일 ▸ 가져오기(Ctrl+I) 를 고르고 openapi.json 의 URL을 넣으십시오.

Restorm이 트리 전체를 만들어 냅니다. 태그마다 폴더 하나, 오퍼레이션마다 요청 하나, 타입이 지정된 파라미터, 문서, 그리고 변수까지 미리 연결된 인증 헤더가 준비됩니다.

OpenAPI 가져오기가 만들어 낸, 바로 쓸 수 있는 트리. 태그(pet, store, user)마다 폴더가 하나씩 있고 오퍼레이션마다 값이 채워진 요청이 놓여 있으며, 그 옆에는 환경 폴더의 시작 하위 탭이 열려 있음

API에 명세가 없다면 curl 명령을 붙여 넣으십시오 — cURL 명령 가져오기를 참고하십시오.

가져오기가 만든 환경 폴더를 여십시오. 기본 URL은 이미 들어 있으니, 가져오기가 미리 준비해 둔 인증 변수만 채우면 됩니다.

여러 대상을 시험한다면 환경을 하나 더 만드십시오. smartbar의 선택기가 폴더 전체를 한 번에 바꿔 줍니다.

요청을 열고 보내기를 클릭하십시오. 응답이 나타납니다. 상태 코드, 소요 시간, 헤더, 그리고 접었다 펼 수 있는 뷰어에 담긴 본문입니다.

무언가 빠뜨렸다면 URL 입력란 아래에 표시되는 해석된 값이 그 사실을 알려 줍니다.

마우스 오른쪽 버튼 클릭 ▸ 추가 ▸ 시나리오. “생성하고, 다시 읽고, 삭제하는” 흐름을 만들어 보겠습니다.

HTTP 요청 “POST /clients”
└─response──► Assert (eq, 201)
└─► 변수 설정 “clientId” ◄── 셀렉터 body.id
HTTP 요청 “GET /clients/{id}”
└─response──► Assert (eq, 200)
└─► Schema validate (고객의 JSON Schema)
HTTP 요청 “DELETE /clients/{id}”
└─response──► Assert (eq, 204)

세 요청 모두 URL 안에서 {{clientId}} 를 씁니다. 첫 단계에서 놓아 둔 실행 변수를 뒤의 단계들이 읽어 가는 구조입니다.

각 어서션의 done 포트를 다음 요청의 in 포트에 배선해서 이어 붙이십시오. 실행 순서를 보장하는 것이 바로 이 배선입니다.

재생을 클릭하십시오. 로그가 채워집니다. 중요한 내용을 남기려면 단계마다 Log 액션을 덧붙이십시오.

중요한 어서션의 else 출력에는 Throw 액션을 연결하십시오. CI 작업을 실패하게 만드는 것이 바로 이 부분입니다.

Terminal window
RESTORM_TOKEN=rstk_… restorm \
--open ./api.restorm \
--run "Parcours client" \
--headless \
--out run.log

모두 통과하면 종료 코드는 0, 그렇지 않으면 1 입니다. GitHub Actions와 GitLab CI 예시는 헤드리스 실행과 지속적 통합을 참고하십시오.