Postman에서 AJV로 API 응답 검증 자동화하기
·
테스트 자동화/Postman
개요이 글에서는 Postman에 AJV를 도입해 JSON 스키마 기반의 응답 검증 자동화를 구현하는 방법을 단계별로 설명한다.1. 전제 조건Postman 사용 경험이 있는 개발자 또는 QAJSON Schema에 대한 기초 지식Postman v10 이상2. AJV란?JSON Schema / JTD 기반의 객체 검증 라이브러리zod, yup보다 성능이 우수 (최대 7배 빠름)(https://github.com/icebob/validator-benchmark)Postman sandbox에서도 require('ajv')로 바로 사용 가능JSON 구조가 바뀌어도 자동으로 검출 가능3. Postman에서 AJV 사용하기3.1 기본 사용 예제const Ajv = require('ajv');const ajv = new..
Newman에서 'Identifier "data" has already been declared' 에러 해결
·
테스트 자동화/Postman
개요Postman에서는 정상적으로 실행되던 테스트 코드가 Newman에서는 Identifier "data" has already been declared 에러가 발생하여 문제 원인과 해결 방법을 정리 하였다.문제 상황Postman에서는 문제가 없었지만, Newman에서 테스트 스크립트 실행 시 다음과 같은 에러가 발생했다.문제 원인const jsonData = pm.response.json()const { status, data } = jsonDatapm.test("응답값 stauts 200 확인", () => { pm.expect(status).to.be.eq(200)})pm.test("data null 확인", () => { pm.expect(data).to.be.null})위 코드에서 변..
Postman 공통 함수 작성법|반복 코드 줄이기
·
테스트 자동화/Postman
개요Postman을 활용한 API 테스트 자동화 과정에서 반복되는 스크립트를 매번 복사해 사용하는 방식은 유지보수에 비효율적이다. 이를 개선하기 위해 공통 함수를 정의하고, 여러 테스트에서 이를 재사용하는 방법을 소개한다.문제 상황: 반복되는 AJV 스크립트Postman으로 API 자동화를 진행하면서, 매 테스트마다 응답 JSON의 기본 포맷을 검증하기 위해 아래와 같은 스크립트를 작성하고 있었다.const Ajv = require('ajv');const ajv = new Ajv();const schema = { type:"object", properties:{ status: { type: "number"}, message: { type: ["string", "null..
Postman을 사용한 API 자동화 하기 - 1(기본 기능 알아보기)
·
테스트 자동화/Postman
Postman 개요Postman은 API 테스트를 위한 도구로, GUI를 통해 API 요청을 손쉽게 작성하고 실행할 수 있는 툴 이다. 또한 JavaScript를 지원하여 사용자가 테스트 스크립트를 작성할 수 있으며, BDD스타일의 어설션 문법을 통해 테스트 시나리오를 명확하고 이해하기 쉽게 작성할 수 있다. 또한 CLI환경에서 테스트를 수행할 수 있는 Newman을 지원하고 있어 CI/CD(Git Action, Jenkins)에 붙여서 사용 할 수 있어 API 자동화를 진행할때 많이 사용된다.Postman 설치postman 홈페이지에 접속하여 OS에 맞는 다운로드 버튼을 클릭하여 설치를 진행한다.  postman 설치 후 실행시 다음과 같은 화면이 나오면 정상적으로 설치가 되었다.Postman을 사용해..