DEV Community

Cover image for ReadyAPI에서 Apidog으로 마이그레이션하는 방법
Rihpig
Rihpig

Posted on • Originally published at apidog.com

ReadyAPI에서 Apidog으로 마이그레이션하는 방법

요약

ReadyAPI에서 Apidog로 마이그레이션은 REST 중심 테스트 스위트의 경우 간단하게 진행될 수 있습니다. ReadyAPI 프로젝트를 내보내고, OpenAPI 가져오기를 활용해 변환 가능한 부분을 자동화하며, Groovy 스크립트는 JavaScript로 수동 변환하세요. SOAP 테스트 케이스가 많을수록 수동 작업이 많아집니다. 테스트 적용 범위를 유지하려면 단계별 마이그레이션 계획이 필수입니다.

지금 Apidog를 무료로 사용해보세요

💡 Apidog는 OpenAPI 사양 및 Postman 컬렉션을 가져오고 JavaScript 스크립트를 통해 테스트 파이프라인을 실행할 수 있는 무료 올인원 API 개발 플랫폼입니다. 신용 카드 없이 Apidog를 무료로 사용해보세요.

소개

API 테스트 인프라의 마이그레이션은 시작하기 전에는 간단하게 느껴질 수 있지만, 실제로는 수년간 쌓인 테스트 케이스, 사용자 정의 Groovy 스크립트, 데이터 파일, 환경 및 복잡한 테스트 스위트 구조 등 다양한 복잡성이 존재합니다. 자동 전환 가능한 부분, 수동으로 변환해야 할 부분, 남겨둘 수 있는 부분을 명확히 파악하는 것이 중요합니다.

이 가이드에서는 ReadyAPI 프로젝트 내보내기, 현황 분석, Apidog로 가져오기, Groovy-JavaScript 변환, CI/CD 설정, 두 도구 병렬 운영 등 전체 마이그레이션 절차를 실전 단계별로 안내합니다.

Step 1: 시작 전 ReadyAPI 프로젝트 감사

마이그레이션 전, 현재 ReadyAPI 프로젝트 구성 요소를 정확히 파악하세요. 이는 작업량과 집중해야 할 영역을 결정합니다.

  • 테스트 스위트/케이스/스텝 개수 파악: 내비게이터에서 직접 세어보세요. 규모에 따라 소요 시간이 달라집니다.
  • REST와 SOAP 테스트 케이스 비율: REST는 쉽게 마이그레이션되지만, SOAP는 수동 작업이 많습니다.
  • Groovy 스크립트 사용 현황: 각 테스트 케이스의 스크립트 단계를 점검하여 Groovy 사용 비율을 확인하세요.
  • 데이터 기반 테스트 사용: DataSource/데이터 파일(CSV, Excel, XML) 사용 여부를 체크하세요.
  • Properties/Property Transfer 활용 여부: Apidog에서는 변수 및 환경 변수로 대체됩니다.
  • LoadUI Pro 부하 테스트 사용 여부: Apidog는 부하테스트를 지원하지 않으므로, 별도 도구(k6 등)를 병행해야 합니다.

이 결과를 스프레드시트 등으로 문서화하면 마이그레이션 예측에 도움이 됩니다.

Step 2: ReadyAPI 프로젝트 내보내기

  1. ReadyAPI를 열고 프로젝트를 불러옵니다.
  2. 파일 > 다른 이름으로 저장을 통해 프로젝트를 XML 파일로 저장합니다.
  3. 테스트에서 참조하는 외부 데이터 파일(CSV, Excel, XML 등)을 모두 별도 보관합니다.
  4. 환경 설정값도 모두 기록해두세요.

이렇게 내보낸 XML 파일은 전체 프로젝트(테스트 스위트, 케이스, 스텝, 스크립트, 설정 등)를 완전히 보존합니다.

Step 3: API 정의 추출

REST API는 OpenAPI 사양을 활용하면 마이그레이션이 매우 간단해집니다.

  • 옵션 A: ReadyAPI에서 REST 서비스 우클릭 → 내보내기/Swagger(OpenAPI) 사양 내보내기.
  • 옵션 B: 백엔드가 이미 OpenAPI 사양(/openapi.json 등)을 제공한다면 직접 다운로드.
  • 옵션 C: 별도 사양이 없다면 ReadyAPI의 REST 요청 정보를 토대로 엔드포인트, 파라미터, 요청/응답 구조를 수동으로 정리.

Step 4: Apidog로 가져오기

OpenAPI 사양이 준비되면 Apidog에서 다음 절차를 따르세요.

  1. Apidog를 실행하고 새 프로젝트를 생성합니다.
  2. API > 가져오기에서 OpenAPI 3.0, Swagger 2.0 등을 선택합니다.
  3. 사양 파일 업로드 또는 URL 입력.
  4. Apidog가 모든 엔드포인트, 파라미터, 요청 본문, 응답 스키마를 자동으로 생성합니다.

Postman 컬렉션이 있다면 파일 > 가져오기 > Postman을 통해 바로 이전 가능합니다.

Step 5: REST 엔드포인트용 테스트 케이스 다시 생성

REST 테스트 케이스는 다음 순서로 Apidog에서 재구성하세요.

  1. ReadyAPI에서 각 REST 테스트 케이스의 요청, 어설션, 데이터 소스를 확인.
  2. Apidog에서 해당 API 엔드포인트를 선택하고, 테스트 스텝 추가로 동일 기능의 테스트 케이스를 생성.

어설션 변환 예시:

  • 본문 포함 어설션
  pm.test('contains value', () => { pm.expect(pm.response.text()).to.include('expected string'); });
Enter fullscreen mode Exit fullscreen mode
  • 상태 코드 어설션
  pm.test('status 200', () => { pm.response.to.have.status(200); });
Enter fullscreen mode Exit fullscreen mode
  • JSONPath 어설션
  pm.test('field value', () => { pm.expect(pm.response.json().fieldName).to.equal('expected'); });
Enter fullscreen mode Exit fullscreen mode

단순 GET/POST 테스트는 15~30분 내에 마이그레이션이 가능합니다.

Step 6: Groovy 스크립트를 JavaScript로 변환

사용자 지정 스크립트가 많은 경우, 다음과 같이 수동 변환이 필요합니다.

  • JSON 파싱
  // Groovy (ReadyAPI)
  def response = context.expand('${TestStep#Response}')
  def json = new groovy.json.JsonSlurper().parseText(response)
  def value = json.fieldName
Enter fullscreen mode Exit fullscreen mode
  // JavaScript (Apidog)
  const response = pm.response.json();
  const value = response.fieldName;
Enter fullscreen mode Exit fullscreen mode
  • 변수 설정
  // Groovy
  testRunner.testCase.setPropertyValue('myVariable', someValue)
Enter fullscreen mode Exit fullscreen mode
  // JavaScript
  pm.variables.set('myVariable', someValue);
Enter fullscreen mode Exit fullscreen mode
  • 조건부 어설션
  // Groovy
  if (statusCode == 200) {
    assert responseBody.contains("success")
  }
Enter fullscreen mode Exit fullscreen mode
  // JavaScript
  if (pm.response.code === 200) {
    pm.test('response contains success', () => {
      pm.expect(pm.response.text()).to.include('success');
    });
  }
Enter fullscreen mode Exit fullscreen mode
  • 날짜 포맷
  // Groovy
  def now = new Date()
  def formatted = now.format('yyyy-MM-dd')
Enter fullscreen mode Exit fullscreen mode
  // JavaScript
  const now = new Date();
  const formatted = now.toISOString().split('T')[0];
Enter fullscreen mode Exit fullscreen mode

복잡한 Groovy(특히 Java 라이브러리 활용 등)는 자동 변환이 어렵기 때문에, 스크립트 동작을 정확히 이해한 후 직접 JavaScript로 재작성해야 합니다.

Step 7: SOAP 테스트 케이스 처리

Apidog는 SOAP 테스트를 위한 전용 도구가 없습니다. REST로 대체 가능한 경우 REST 엔드포인트로 전환하세요. 그렇지 않다면:

  • SOAP 테스트는 ReadyAPI에서 유지: SOAP 케이스는 ReadyAPI로, REST는 Apidog로 병행 운영.
  • SoapUI 오픈 소스 활용: 라이선스 없이 SOAP 테스트 가능하지만, ReadyAPI의 모든 기능을 대체하지는 못합니다.

특히 WS-Security 등 복잡한 어설션은 신중하게 이전하세요.

Step 8: 환경 및 변수 설정

ReadyAPI의 환경 설정을 Apidog의 환경 시스템에 맞춰 재구성합니다.

  1. Apidog에서 동일한 환경(설정 > 환경)을 생성.
  2. 변수(기본 URL, 인증 토큰 등)도 동일하게 추가.
  3. 테스트 케이스 내 변수 참조는 {{variableName}} 문법을 사용.

Step 9: CI/CD 구성

ReadyAPI에서는 보통 testrunner 명령을 사용하지만, Apidog는 CLI 기반입니다.

  • Apidog CLI 설치
  npm install -g apidog-cli
Enter fullscreen mode Exit fullscreen mode
  • 테스트 실행
  apidog run "path/to/collection.json" -e "environment-id"
Enter fullscreen mode Exit fullscreen mode
  • GitHub Actions 예시
  - name: Run API tests
    run: apidog run collection.json --environment staging
Enter fullscreen mode Exit fullscreen mode
  • Jenkins 등에서는 셸 스크립트로 CLI 호출

CI에서 ReadyAPI → Apidog로 명령을 점진적으로 교체하세요.

Step 10: 전환 기간 동안 두 도구 병렬 운영

마이그레이션 완료 전 최소 한 번의 릴리스 주기 동안 ReadyAPI와 Apidog를 병렬로 실행하세요.

  • CI에서 ReadyAPI 테스트를 기준 테스트 게이트로 유지
  • Apidog 테스트를 병행 실행해 결과 비교
  • Apidog에서만 발생하는 실패는 상세 조사
  • 신규 테스트는 Apidog에만 추가

신뢰도가 확보되면 ReadyAPI를 CI에서 제거하고, 몇 달간 예비로 유지하세요.

FAQ

Q: ReadyAPI → Apidog 마이그레이션 소요 기간은?

REST 전용, Groovy 적은 프로젝트는 1~3일. 복잡한 Groovy/대규모/복잡한 구조의 경우 2~6주. 1단계의 감사를 통해 예측 가능.

Q: ReadyAPI의 테스트 데이터 파일을 Apidog에서 쓸 수 있나요?

CSV는 Apidog 데이터 기반 테스트와 호환. Excel은 CSV로 변환 필요. XML 파일은 별도 재구성 필요.

Q: 마이그레이션 중 ReadyAPI와 Apidog를 동일 CI 파이프라인에서 쓸 수 있나요?

네. ReadyAPI testrunner와 Apidog CLI를 병행 실행해 결과를 비교하세요.

Q: 환경 설정 자동 이전이 가능한가요?

불가. Apidog에서는 수동으로 환경을 다시 만들어야 합니다. ReadyAPI 환경창을 참고하여 복사하세요.

Q: REST 대안 없는 ReadyAPI 테스트는?

SOAP 전용 테스트는 ReadyAPI 유지, SoapUI 오픈소스 활용, 또는 레거시 서비스라면 테스트 생략 등 현실적 방안을 선택.

Q: Apidog가 ReadyAPI와 동일한 어설션을 지원하나요?

REST 테스트 어설션은 JavaScript로 유사하게 구현 가능. 단, SOAP Fault, WS-Security 등 일부 특화 어설션은 미지원.


ReadyAPI → Apidog 마이그레이션은 신중한 감사, 단계별 실행, REST 우선 마이그레이션, 병렬 운영을 통해 테스트 누락 없이 안전하게 수행할 수 있습니다.

Top comments (0)