Apidog Docs
🇰🇷 한국인
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇰🇷 한국인
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇰🇷 한국인
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
  1. 테스트 시나리오
  • Apidog 학습 센터
  • 시작하기
    • Apidog 소개
    • Apidog의 기본 개념
    • Apidog 탐색하기
    • 빠른 시작
      • 개요
      • 엔드포인트 생성하기
      • 요청 만들기
      • 어서션 추가하기
      • 테스트 시나리오 생성
      • API 문서 공유
      • 더 알아보기
    • Apidog로 마이그레이션
      • 개요
      • 수동 가져오기
      • 예약 가져오기(데이터 소스 바인딩)
      • 가져오기 옵션
      • 데이터 내보내기
      • 가져오기
        • Postman에서 가져오기
        • OpenAPI Spec 가져오기
        • cURL 가져오기
        • Markdown 가져오기
        • Insomnia에서 가져오기
        • apiDoc에서 가져오기
        • .har 파일 가져오기
        • WSDL 가져오기
  • Mock API 데이터
    • 개요
    • 스마트 목
    • 사용자 지정 목
    • 목 우선순위 순서
    • 목 스크립트
    • 클라우드 목
    • Self-Hosted Runner Mock
    • 목 언어(로케일)
  • 계정 및 환경설정
    • 계정 설정
    • OpenAPI 액세스 토큰 생성
    • 알림
    • 언어 설정
    • 단축키
    • 네트워크 프록시 구성
    • 데이터 백업
    • Apidog 업데이트
    • 계정 삭제
    • 실험적 기능
  • 요청 보내기
    • 개요
    • SSE 디버깅
    • MCP 클라이언트
    • Socket.IO
    • WebSocket
    • Webhook
    • SOAP 또는 WebService
    • GraphQL
    • gRPC
    • 디버깅에 요청 프록시 에이전트 사용
    • 요청 만들기
      • 요청 기록
      • 요청 기본 사항
      • 매개변수 및 본문
      • 요청 헤더
      • 요청 설정
      • 요청 디버그
      • 요청을 엔드포인트로 저장하기
      • HTTP/2
    • 인증 및 권한 부여
      • 개요
      • CA 및 클라이언트 인증서
      • 인증 유형
      • Digest Auth
      • OAuth 1.0
      • OAuth 2.0
      • Hawk 인증
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • 응답 및 쿠키
      • API 응답 보기
      • 쿠키 관리
      • 개요
  • API 개발 및 디버깅
    • 개요
    • 요청 생성
    • 요청 보내기
    • 디버깅 케이스
    • 테스트 케이스
    • 동적 값
    • 응답 검증
    • 디자인 우선 vs 요청 우선
    • 코드 생성
    • 환경 및 변수
      • 개요
      • 변수 사용하기
      • 환경 관리
    • Vault 시크릿
      • 개요
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • 동적 값 모듈
      • Airline
      • 동물
      • 색상
      • Commerce
      • Company
      • 데이터베이스
      • Datatype
      • 날짜
      • 금융
      • Food
      • Git
      • Hacker
      • Helpers
      • Image
      • Internet
      • Location
      • Lorem
      • 음악
      • Number
      • Person
      • Phone
      • 과학
      • String
      • System
      • Vehicle
      • Word
    • 사전/사후 프로세서
      • 개요
      • 어서션
      • 변수 추출
      • Wait
      • 보안
      • 데이터베이스 작업
        • 개요
        • MySQL
        • MongoDB
        • Redis
        • Oracle Client
      • 스크립트 사용
        • 개요
        • 전처리 스크립트
        • 사후 처리 스크립트
        • Public Scripts
        • Postman 스크립트 참조
        • 다른 프로그래밍 언어 호출하기
        • JS 라이브러리 사용하기
        • 응답 시각화
        • 스크립트 예제
          • 어서션 스크립트
          • 변수 사용하기
          • 요청 수정하기
          • 기타 예시
    • API 디버깅
      • AI Agent Debugger
      • A2A Debugger
  • API 설계
    • 개요
    • 새 API 프로젝트 생성
    • 엔드포인트 기본 사항
    • API 설계 지침
    • 모듈
    • 여러 요청 본문 예시 구성
    • 컴포넌트
    • 공통 필드
    • 전역 매개변수
    • 엔드포인트 변경 이력
    • 댓글
    • 엔드포인트 일괄 관리
    • 사용자 지정 프로토콜 API
    • Spec-first 모드(Beta)
    • 보안 스키마
      • 개요
      • 보안 스키마 생성
      • 보안 스키마 사용
      • 온라인 문서의 보안 스키마
    • 고급 기능
      • 사용자 지정 엔드포인트 필드
      • 연결된 테스트 시나리오
      • 엔드포인트 상태
      • 매개변수 목록의 표시 방식
      • 엔드포인트 고유 식별
    • 스키마
      • 개요
      • 새 스키마 생성
      • 스키마 구축
      • JSON 등에서 스키마 생성
      • oneOf, allOf, anyOf
      • Discriminator 사용하기
  • API 테스트
    • 개요
    • 테스트 시나리오
      • 테스트 시나리오 생성
      • 요청 간 데이터 전달
      • 흐름 제어 조건
      • 엔드포인트 및 엔드포인트 케이스에서 데이터 동기화
      • 다른 프로젝트에서 엔드포인트 및 엔드포인트 케이스 가져오기
      • 테스트 시나리오 내보내기
    • 테스트 보고서
      • 테스트 보고서
    • 테스트 시나리오 실행
      • 테스트 시나리오 실행
      • 테스트 시나리오 일괄 실행
      • 데이터 기반 테스트
      • 공유 테스트 데이터
      • 예약 작업
      • 다른 프로젝트의 API 런타임 환경 관리
    • 테스트 스위트
      • 개요
      • 테스트 스위트 생성
      • 테스트 스위트 오케스트레이션
      • 로컬에서 테스트 스위트 실행
      • CLI를 통해 테스트 스위트 실행
      • 예약 작업
    • API 테스트
      • 통합 테스트
      • 성능 테스트
      • 엔드투엔드 테스트
      • 회귀 테스트
      • 계약 테스트
    • Apidog CLI
      • 개요
      • Apidog CLI 설치 및 실행
      • Apidog CLI 옵션
    • CI/CD
      • 개요
      • Github Actions와 통합
      • Gitlab과 통합
      • Jenkins와 통합하기
      • Git 커밋으로 테스트 트리거하기
  • API 문서 게시
    • 개요
    • 지원되는 API 기술
    • Quick Share
    • API 문서 보기
    • Markdown 문서
    • 문서 사이트 게시
    • 사용자 지정 로그인 페이지
    • 사용자 지정 레이아웃
    • 사용자 지정 CSS, JavaScript, HTML
    • 사용자 지정 도메인
    • AI 기능
    • SEO 설정
    • 고급 설정
      • 문서 검색
      • CORS 프록시
      • Google Analytics 통합
      • 폴더 트리 설정
      • 가시성 설정
      • 문서 URL에 값 임베드하기
    • API 버전
      • 개요
      • API 버전 생성
      • API 버전 게시
      • API 버전별 엔드포인트 공유
  • 브랜치
    • 개요
    • 스프린트 브랜치 생성
    • 브랜치에서 API 테스트하기
    • 브랜치에서 API 설계하기
    • 스프린트 브랜치 병합
    • 스프린트 브랜치 관리
    • AI Branch(베타)
  • AI 기능
    • 개요
    • AI 기능 활성화
    • 테스트 케이스 생성
    • AI로 스키마 수정하기
    • 엔드포인트 규정 준수 검사
    • API 문서 완성도 검사
    • AI 기반 필드 명명
    • 자주 묻는 질문
  • Apidog MCP 서버
    • 개요
    • AI에 Apidog 프로젝트 연결
    • 게시된 문서를 AI에 연결하기
    • OpenAPI 파일을 AI에 연결하기
  • 모범 사례
    • API 서명 처리
    • OAuth 2.0으로 보호되는 API에 접근하기
    • 협업 워크플로
    • 인증 상태 관리
  • 오프라인 공간
    • 개요
  • Apidog Europe
    • Apidog Europe
  • 관리
    • 프로젝트 관리
      • 프로젝트 관리
      • 알림 설정
      • 프로젝트 멤버 관리
      • 프로젝트 리소스
        • 데이터베이스 연결
        • Git 연결
    • 팀 관리
      • 팀 관리
      • 팀 멤버 관리
      • 팀 활동
      • 팀 역할 및 권한
      • 팀 리소스
        • General Runner
        • 팀 변수
        • 요청 프록시 에이전트
      • 실시간 협업
        • 팀 협업
    • 온보딩 체크리스트
      • 기본 개념
      • 온보딩 가이드
    • 조직 관리
      • 조직 관리
      • 조직 역할 및 권한
      • 플랜 관리
        • 조직의 청구 관리자
      • Single Sign-On (SSO)
        • SSO 개요
        • Microsoft Entra ID 구성
        • Okta 구성하기
        • 조직에 대한 SSO 구성
        • 사용자 계정 관리
        • 그룹을 팀에 매핑하기
      • SCIM 프로비저닝
        • SCIM 프로비저닝 소개
        • Microsoft Entra ID
        • Okta
      • 조직 리소스
        • 셀프 호스팅 Runner
  • 청구
    • 개요
    • 크레딧
    • 플랜 업그레이드
    • 대체 결제 방법
    • 구독 관리
    • 유료 팀을 조직으로 이동하기
  • 애드온
    • API Hub
    • Apidog Intellij IDEA 플러그인
    • 브라우저 확장 프로그램
      • Chrome
      • Microsoft Edge
    • 요청 프록시
      • 웹에서의 요청 프록시
      • 공유 문서의 요청 프록시
      • 클라이언트의 요청 프록시
  • 데이터 및 보안
    • 데이터 저장 및 보안
    • 사용자 데이터 개인정보 보호 및 보안
    • 요청 라우팅 및 데이터 보안
  • 참조
    • API 설계 우선 접근 방식
    • Apidog OpenAPI 사양 확장
    • JSONPath
    • XPath
    • 정규 표현식
    • JSON Schema
    • CSV 파일 형식
    • Java 환경 설치
    • Runner 배포 환경
    • Apidog Markdown 구문
    • Apidog Swagger 확장
      • 개요
      • x-apidog-folder
      • x-apidog-status
      • x-apidog-name
      • x-apidog-maintainer
    • Apidog JSON Schema 확장
      • 개요
      • x-apidog-mock
      • x-apidog-orders
      • x-apidog-enum
  • 지원 센터
  1. 테스트 시나리오

흐름 제어 조건

테스트 시나리오에 흐름 제어 조건(루프, 조건, 대기, 그룹화 등)을 추가할 수 있습니다. 이를 통해 더 복잡한 테스트 시나리오/프로세스 구성을 더욱 효과적으로 활용할 수 있으며, 궁극적으로 자동화된 테스트 기능을 통해 복잡한 시나리오의 테스트 과제를 해결할 수 있습니다.
흐름 제어 조건

For 루프#

하나의 요청을 연속으로 여러 번 보내야 하는 경우, for 루프를 사용하는 것이 효율적인 방법입니다. Apidog 테스트 시나리오에서 for 루프를 효과적으로 사용하는 방법은 다음과 같습니다.
반복 횟수 설정: 루프가 몇 번 실행되어야 하는지 결정합니다. 고정된 숫자 또는 {{variable}}일 수 있습니다.
요청 추가: for 루프 내에는 하나 이상의 요청뿐만 아니라 다른 루프 또는 조건 분기도 포함할 수 있습니다. 이러한 유연성을 통해 여러 작업을 순차적으로 테스트해야 하는 복잡한 테스트 시나리오를 구성할 수 있습니다.
Break If 조건: for 루프에 Break if 조건을 추가할 수 있습니다. 조건이 충족되면 루프가 즉시 종료됩니다. Break if의 위치를 드래그하여 조정하거나, 여러 Break if 조건을 추가하여 다양한 시나리오를 처리할 수도 있습니다.
On Error 처리: 루프에 On Error 조건을 추가하여 오류를 관리합니다. 오류가 발생하면 지정된 작업이 트리거됩니다.
Ignore: 루프가 다음 요청으로 계속 진행됩니다.
Continue: 현재 주기의 나머지 요청을 건너뛰고 다음 반복으로 이동합니다.
Break execution: 루프를 중지하고 루프 외부의 후속 요청을 진행합니다.
End execution: 전체 테스트 시나리오를 완전히 중단합니다.
On Error 조건은 루프 시작 위치에 고정되어 있으며 이동할 수 없습니다.

요청에서 루프 인덱스 사용#

루프의 현재 인덱스를 요청 내 로컬 변수로 사용하여 매개변수 또는 요청 본문을 동적으로 조정할 수 있습니다. 이를 사용하려면 다음과 같이 하십시오.
1
for 루프를 추가하고 루프 내에 요청을 포함합니다.
2
요청 매개변수에서 마술봉 아이콘 🪄을 클릭하고 "Retrieve pre-step data"를 선택합니다.
"Retrieve pre-step data" 기능은 "Tests" 모듈에서만 사용할 수 있으며, "APIs" 모듈에서는 사용할 수 없습니다.
"Retrieve pre-step data"를 사용할 때 값은 전체 테스트 시나리오를 함께 실행할 때만 가져올 수 있으며, 개별 단계를 실행할 때는 접근할 수 없습니다.
3
일반적으로 "Loop n times"로 표시되는 루프 옵션을 선택합니다.
4
"Current loop index"를 선택합니다.
5
{{$.5.index}}와 같은 동적 변수를 얻게 됩니다. "Insert"를 클릭하면 런타임에 현재 루프의 인덱스(예: 0 또는 5)로 대체됩니다.
루프의 인덱스는 항상 0부터 시작합니다.

ForEach 루프#

여러 요소를 포함하는 배열(특정 콘텐츠 목록 또는 이전 단계에서 얻은 목록)이 있고, 목록의 각 항목에 대해 동일한 작업을 수행해야 하는 경우(예: 먼저 제품 목록을 얻은 다음 목록의 각 제품을 장바구니에 추가하는 경우) ForEach 루프를 사용해야 합니다.
ForEach 루프에서는 루프 내부의 작업이 배열의 각 요소에 대해 실행됩니다.
For 루프와의 차이점은 반복 횟수를 신경 쓸 필요가 없으며, 루프 배열의 내용에만 집중하면 된다는 점입니다.
루프 배열 설정: ForEach 루프에서는 배열을 루프 객체로 설정해야 합니다. 변수를 사용하거나 ["a","b","c"]와 같은 배열을 수동으로 입력할 수 있습니다.
요청 추가: ForEach 루프 내에는 하나 이상의 요청을 추가하거나, 다른 루프 또는 조건 분기 등을 추가할 수 있습니다.
Break If 조건 및 On Error 처리: 위에서 설명한 for 루프와 동일하게 ForEach 루프에 Break if 및 On error를 추가할 수 있습니다.
TIP
ForEach 루프의 고급 설정에서는 Break If 및 On Error에 대한 예외 처리 옵션도 사용자 지정할 수 있습니다. 자세한 내용은 판단 규칙을 참조하십시오.

ForEach 사용 예시#

두 개의 엔드포인트를 고려해 보겠습니다. 하나는 반려동물 정보 목록을 가져오는 엔드포인트이고, 다른 하나는 단일 반려동물의 세부 정보를 가져오는 엔드포인트입니다. 목록에 최근 추가된 반려동물의 세부 정보를 가져와야 하는 경우, 자동화된 테스트에서 ForEach 루프를 사용하여 이 시나리오를 설정할 수 있습니다.
1.
ForEach 루프 외부의 첫 번째 단계에서는 실제 목록 데이터를 가져오기 위해 반려동물 정보 목록 엔드포인트를 요청합니다. 일반적으로 이 인터페이스의 응답에는 반려동물 ID 및 이름과 같은 여러 반려동물의 기본 정보가 포함된 배열이 들어 있습니다.
2.
이전 단계의 응답에서 가져온 반려동물 배열의 하위 집합을 소스 배열로 사용하여 ForEach 루프를 설정합니다.
3.
루프 내에서 "Get Pet Information" 엔드포인트에 대한 요청을 설정하고, ForEach 루프의 요소 값을 사용하여 이 요청의 ID 매개변수를 채웁니다.

요청에서 루프 요소 사용#

루프의 현재 요소/인덱스를 요청 내 로컬 변수로 사용하여 매개변수 또는 요청 본문을 동적으로 조정할 수 있습니다. 이를 사용하려면 다음과 같이 하십시오.
1
ForEach 루프를 추가하고 루프 내에 요청을 포함합니다.
2
요청 매개변수에서 마술봉 아이콘을 클릭하고 "Retrieve pre-step data"를 선택합니다.
3
일반적으로 "Loop each element in {{array}}"로 표시되는 루프 옵션을 선택합니다.
4
"Current loop element"를 선택합니다. JSONPath를 사용하여 요소의 속성을 추출할 수 있습니다.
5
{{$.17.element}}와 같은 동적 변수를 얻게 됩니다. "Insert"를 클릭하면 런타임에 현재 루프의 요소, 즉 루프 배열의 한 요소로 대체됩니다.
TIP
현재 루프 요소: 시스템은 ForEach 루프에 지정된 배열에서 요소를 자동으로 추출하여 지정된 변수에 저장합니다. 각 반복이 시작될 때 이 변수는 배열의 현재 요소 값으로 업데이트됩니다. 요소가 객체인 경우 JSONPath를 사용하여 {{$.1.element.data.name}}과 같은 특정 하위 필드를 추출할 수 있습니다.
현재 루프 인덱스: 현재 루프의 인덱스가 이 변수에 저장됩니다. 0에서 시작하며 이후 각 반복이 시작될 때마다 1씩 증가하여 현재 인덱스를 나타냅니다.

If#

서로 다른 시나리오에 따라 서로 다른 요청을 보내야 하는 경우, If 문을 사용하여 조건 분기를 추가할 수 있습니다. 지정된 조건이 충족되면 해당 단계가 실행되며, 그렇지 않으면 건너뜁니다. 더 구체적인 자세한 내용은 판단 규칙을 참조하십시오.
If 문 설정: If 문은 같음, 같지 않음, 포함, 포함하지 않음 등 다양한 조건을 지원합니다. 조건의 양쪽에는 상수와 변수를 모두 사용할 수 있습니다.
요청 추가: 조건 분기 내에는 여러 요청뿐만 아니라 다른 루프 또는 조건 분기도 추가할 수 있습니다.
조건 분기 실행: 구성에 설정된 조건이 충족되면 테스트 단계가 실행되고, 그렇지 않으면 건너뜁니다.
Else 문: If 조건이 충족되지 않는 시나리오를 처리하기 위해 조건 분기 내에 Else 문을 추가할 수 있습니다.

If 사용 예시#

반려동물 가게 주인은 전날 반려동물의 판매 상태를 기준으로, 판매된 경우 반려동물의 판매 상태를 "Sold"로 변경해야 합니다. 그렇지 않은 경우(else)에는 아직 판매 중인 반려동물 목록을 확인해야 합니다.
1.
하단의 "Add Step" 버튼을 클릭하고 "Conditional Branching"을 선택합니다.
2.
API 요청 응답에서 얻은 변수 saleStatus를 "If" 뒤의 입력 상자에 입력하고 조건 "equals"를 선택합니다. 마지막으로 비교 값으로 true를 입력합니다.
3.
조건 분기 작업 위에 마우스를 올리면 " + Else" 옵션이 표시됩니다. 이를 클릭하여 "List of Pets for Sale" 단계를 추가합니다(조건이 충족되지 않은 경우, 즉 아직 판매 중인 반려동물 목록을 조회하는 경우).

판단 규칙#

테스트 시나리오에서 If 문을 사용할 때 조건 규칙을 정의하여 테스트 실행을 제어할 수 있습니다. 조건이 충족되면 해당 단계가 실행되며, 그렇지 않으면 건너뜁니다. 마찬가지로 ForEach 및 For 루프의 Break If 설정에서도 판단 규칙을 설정하여 실행 흐름을 더 유연하게 제어할 수 있습니다.
규칙설명
Equals두 값이 같은지 확인합니다.
Does not equal두 값이 같지 않은지 확인합니다.
Exists필드 또는 변수가 존재하는지 확인합니다.
Does not exist필드 또는 변수가 존재하지 않는지 확인합니다.
Less than한 값이 다른 값보다 작은지 확인합니다.
Less than or equal한 값이 다른 값보다 작거나 같은지 확인합니다.
Greater than한 값이 다른 값보다 큰지 확인합니다.
Greater than or equal한 값이 다른 값보다 크거나 같은지 확인합니다.
Matches with Regex문자열이 지정된 정규 표현식과 일치하는지 확인합니다.
Contains문자열 또는 배열이 지정된 값을 포함하는지 확인합니다.
Does not contain문자열 또는 배열이 지정된 값을 포함하지 않는지 확인합니다.
Is empty필드, 배열 또는 변수가 비어 있는지 확인합니다.
Is not Empty필드, 배열 또는 변수가 비어 있지 않은지 확인합니다.
In List값이 지정된 목록에 속하는지 확인합니다.
Not in List값이 지정된 목록에 속하지 않는지 확인합니다.
조건 확인(예: 보다 큼, 크거나 같음, 같음 또는 같지 않음)을 수행할 때 비교되는 값이 정수 또는 문자열인 경우, 시스템은 정확한 비교를 위해 문자열을 숫자로 자동 변환합니다. 예를 들어 문자열 "18"을 숫자 18과 비교하면, 시스템은 비교 전에 문자열 "18"을 숫자 18로 변환합니다.

Equals#

두 값이 같은지 확인합니다. 같으면 조건이 충족되어 테스트 단계가 실행되며, 그렇지 않으면 건너뜁니다.
예시:
시나리오: 이전 단계에서 추출한 사용자 나이가 18과 같은지 확인합니다.
조건 예시: {{$.5.response.body.data.age}} Equals 18
실제 실행 효과: 이전 단계에서 추출한 나이 값이 18이면(문자열은 자동으로 숫자로 변환됨), 특정 정보를 표시하거나 특정 작업을 수행하는 등의 단계가 실행됩니다.

Does not equal#

두 값이 같지 않은지 확인합니다. 같지 않으면 조건이 충족되어 테스트 단계가 실행되며, 그렇지 않으면 건너뜁니다.
예시:
시나리오: 이전 단계에서 추출한 주문 상태가 "Paid"와 같지 않은지 확인합니다.
조건 예시: {{$.4.response.body.data.status}} Does not equal Paid
실제 실행 효과: 이전 단계에서 추출한 주문 상태가 다른 값(예: "Pending" 또는 "Shipped")이면 단계가 실행됩니다.

Exists#

특정 필드 또는 변수가 존재하는지 확인합니다. 존재하면 조건이 충족되어 단계가 실행되며, 그렇지 않으면 건너뜁니다.
예시:
시나리오: 이전 단계에서 추출한 사용자 데이터에 email 필드가 존재하는지 확인합니다.
조건 예시: {{$.3.response.body.data.email}} Exists
실제 실행 효과: 이전 단계에서 추출한 사용자 데이터에 email 필드가 있으면 단계가 실행됩니다.

Does not exist#

특정 필드 또는 변수가 존재하지 않는지 확인합니다. 존재하지 않으면 조건이 충족되어 단계가 실행되며, 그렇지 않으면 건너뜁니다.
예시:
시나리오: 이전 단계에서 추출한 사용자 데이터에 phone 필드가 존재하지 않는지 확인합니다.
조건 예시: {{$.2.response.body.data.phone}} Does not exist
실제 실행 효과: 이전 단계에서 추출한 사용자 데이터에 phone 필드가 없으면 단계가 실행됩니다.

Less Than#

한 값이 다른 값보다 작은지 확인합니다. 작으면 조건이 충족되어 단계가 실행되며, 그렇지 않으면 건너뜁니다.
예시:
시나리오: 이전 단계에서 추출한 제품 재고가 10보다 작은지 확인합니다.
조건 예시: {{$.1.response.body.data.stock}} Less Than 10
실제 실행 효과: 이전 단계에서 추출한 재고 값이 8이면 조건이 충족되어 단계가 실행됩니다.

Less than or equal#

한 값이 다른 값보다 작거나 같은지 확인합니다. 작거나 같으면 조건이 충족되어 단계가 실행되며, 그렇지 않으면 건너뜁니다.
예시:
시나리오: 이전 단계에서 추출한 나이가 12보다 작거나 같은지 확인합니다.
조건 예시: {{$.2.response.body.data.age}} Less than or equal 12
실제 실행 효과: 이전 단계에서 추출한 나이 값이 10이면 조건이 충족되어 단계가 실행됩니다.

Greater than#

한 값이 다른 값보다 큰지 확인합니다. 크면 조건이 충족되어 단계가 실행되며, 그렇지 않으면 건너뜁니다.
예시:
시나리오: 이전 단계에서 추출한 주문 금액이 1000보다 큰지 확인합니다.
조건 예시: {{$.1.response.body.data.amount}} Greater than 1000
실제 실행 효과: 이전 단계에서 추출한 주문 금액 값이 1105이면 조건이 충족되어 단계가 실행됩니다.

Greater than or equal#

한 값이 다른 값보다 크거나 같은지 확인합니다. 크거나 같으면 조건이 충족되어 단계가 실행되며, 그렇지 않으면 건너뜁니다.
예시:
시나리오: 이전 단계에서 추출한 사용자 포인트가 500보다 크거나 같은지 확인합니다.
조건 예시: {{$.3.response.body.data.points}} Greater than or equal 500
실제 실행 효과: 이전 단계에서 추출한 포인트 값이 600이면 조건이 충족되어 단계가 실행됩니다.

Matches with Regex#

문자열이 지정된 정규 표현식과 일치하는지 확인합니다. 일치하면 조건이 충족되어 단계가 실행되며, 그렇지 않으면 건너뜁니다.
예시:
시나리오: 이전 단계에서 추출한 이메일 형식이 올바른지 확인합니다.
조건 예시: {{$.2.response.body.data.email}} Matches with Regex /^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$/i
실제 실행 효과: 이전 단계에서 추출한 이메일 형식이 정규 표현식과 일치하면(예: test@gmail.com) 단계가 실행됩니다.
TIP
정규 표현식은 패턴을 /로 감싸고 끝에 선택적 수정자(예: 전역 매칭을 위한 g, 대소문자 구분 없음을 위한 i)를 붙이는 "리터럴" 구문을 사용하여 작성해야 합니다. 정규 표현식 작성에 대한 자세한 내용은 MDN 문서를 참조할 수 있습니다.

Contains#

문자열 또는 배열이 지정된 값을 포함하는지 확인합니다. 포함하면 조건이 충족되어 단계가 실행되며, 그렇지 않으면 건너뜁니다.
예시:
시나리오: 이전 단계에서 추출한 사용자 역할 목록에 "admin" 역할이 포함되어 있는지 확인합니다.
조건 예시: {{$.3.response.body.data.roles}} Contains admin
실제 실행 효과: 이전 단계에서 추출한 역할 목록에 "admin"이 포함되어 있으면 단계가 실행됩니다.

Does not contain#

문자열 또는 배열이 지정된 값을 포함하지 않는지 확인합니다. 포함하지 않으면 조건이 충족되어 단계가 실행되며, 그렇지 않으면 건너뜁니다.
예시:
시나리오: 이전 단계에서 추출한 사용자의 장바구니에 특정 제품이 포함되어 있지 않은지 확인합니다.
조건 예시: {{$.4.response.body.data.cartItems}} Does not contain productId123
실제 실행 효과: 이전 단계에서 추출한 장바구니 배열에 제품 productId123이 포함되어 있지 않으면 단계가 실행됩니다.

Is empty#

필드, 배열 또는 변수가 비어 있는지 확인합니다. 비어 있으면 조건이 충족되어 단계가 실행되며, 그렇지 않으면 건너뜁니다.
예시:
시나리오: 이전 단계에서 추출한 비고 필드가 비어 있는지 확인합니다.
조건 예시: {{$.2.response.body.data.remarks}} Is empty
실제 실행 효과: 이전 단계에서 추출한 비고 필드가 비어 있으면 단계가 실행됩니다.

Is not Empty#

필드, 배열 또는 변수가 비어 있지 않은지 확인합니다. 비어 있지 않으면 조건이 충족되어 단계가 실행되며, 그렇지 않으면 건너뜁니다.
예시:
시나리오: 이전 단계에서 추출한 주문 비고가 작성되어 있는지 확인합니다.
조건 예시: {{$.1.response.body.data.orderRemarks}} Is not Empty
실제 실행 효과: 이전 단계에서 추출한 주문 비고가 비어 있지 않으면 단계가 실행됩니다.

In List#

값이 지정된 목록에 속하는지 확인합니다. 속하면 조건이 충족되어 단계가 실행되며, 그렇지 않으면 건너뜁니다.
예시:
시나리오: 이전 단계에서 추출한 사용자가 선택한 제품이 추천 제품 목록에 있는지 확인합니다.
조건 예시: {{$.3.response.body.data.productId}} In List ["prod123", "prod456", "prod789"]
실제 실행 효과: 이전 단계에서 추출한 제품 ID가 "prod456"이면 단계가 실행됩니다.
TIP
Apidog에서 목록을 입력할 때 각 요소는 별도로 입력하고 Enter 키를 눌러 구분해야 합니다.

Not in List#

값이 지정된 목록에 속하지 않는지 확인합니다. 속하지 않으면 조건이 충족되어 단계가 실행되며, 그렇지 않으면 건너뜁니다.
예시:
시나리오: 이전 단계에서 추출한 사용자가 입력한 프로모션 코드가 사용된 프로모션 코드 목록에 없는지 확인합니다.
조건 예시: {{$.4.response.body.data.promoCode}} Not in List ["usedCode1", "usedCode2"]
실제 실행 효과: 이전 단계에서 추출한 프로모션 코드가 "newPromo"이면 조건이 충족되어 단계가 실행되며, 그렇지 않으면 건너뜁니다.

그룹화#

테스트 프로세스의 여러 단계가 서로 관련되어 있는 경우, 분류를 위해 함께 그룹화할 수 있습니다. 테스트 단계를 그룹화하면 테스트 시나리오의 가독성과 조작성이 향상됩니다.

대기#

테스트 프로세스의 특정 단계가 실행되기 전에 일정 시간 동안 대기해야 하는 경우, 이를 해결하기 위해 대기 조건을 추가할 수 있습니다.

대기 사용 예시#

사용자가 반려동물 세부 정보를 조회하고 1000ms 동안 탐색한 후 반려동물 정보의 탐색 상태를 업데이트하는 상황을 시뮬레이션합니다.
1.
하단의 "Add Step" 버튼을 클릭하고 "Wait"를 선택합니다.
2.
대기할 시간 1000(밀리초 단위)을 입력합니다.
테스트 흐름 제어를 사용할 때 테스트 보고서에는 If, for 등과 같은 단계가 표시되지 않으며, 실제로 실행된 요청만 실행 순서대로 선형으로 나열됩니다.
Modified at 2026-06-09 08:53:32
Previous
요청 간 데이터 전달
Next
엔드포인트 및 엔드포인트 케이스에서 데이터 동기화
Built with