API를 통한 유연한 테스트 실행
  • 어두운

API를 통한 유연한 테스트 실행

  • 어두운

기사 요약

개요

execute_scenarios API는 테스트 계획을 작성하지 않고도 모든 시나리오를 실행하는 데 사용할 수 있습니다.
또한 실행 환경, 실행 유형(병렬/순차), URL 대체를 즉석에서 지정할 수도 있습니다!

이 문서에서는 Autify 명령줄 인터페이스(CLI)를 통해 이 API를 활용하는 두 가지 방법을 보여드리고자 합니다:

  1. 쉬운 실행을 위한 '웹 테스트 실행 자동 인증'
  2. 보다 사용자 정의 가능한 실행을 위한 오티파이 웹 API 2.

전제 조건: Autify CLI 설정

이 가이드를 따라 Autify CLI를 시작하세요. 몇 분 밖에 걸리지 않습니다.

1. 하나의 실행 환경(기능)에서 하나의 테스트 시나리오 실행하기

가장 간단하고 일반적인 사용 사례로, 특정 실행 환경(기능)에서 테스트 시나리오를 실행하고자 하는 경우입니다. Autify CLI는 이 사용 사례에 대해 '웹 테스트 실행 인증'이라는 매우 강력한 명령을 제공합니다. 사용 예는 다음과 같습니다:

autify web test run https://app.autify.com/projects/0000/scenarios/0000 \
  --os Linux \
  --browser Chrome \
  --url-replacements http://example.com=http://example.net \
  --name "Sample"

이 간단한 명령은 http://example.com에서 http://example.net로 URL을 대체하여 Linux/Chrome 기능에서 지정된 테스트 시나리오를 시작하고 실행 이름을 Autify UI에 테스트 결과를 표시할 때 사용되는 "Sample"로 지정합니다.

사용 가능한 기능은 플랜 및 워크스페이스 설정에 따라 달라집니다.

데스크톱 기능

  • --OS:
    • 리눅스 / 윈도우 서버 / 윈도우 / OS X.
  • 브라우저`:
    • 크롬 / 파이어폭스 / 사파리 / 엣지: Chrome / 파이어폭스 / 사파리 / 엣지

모바일 기능

  • --장치:
    • 아이폰 X / 갤럭시 S20 / ...
  • --장치 유형:
    • 에뮬레이터 / 모바일
  • --os-version:
    • 11.0 / ... (안드로이드)
    • 15 / ...` (iOS)

웹 테스트 실행 인증을 실행할 때는 기능 집합을 고유하게 식별하는 데 필요한 최소한의 옵션만 지정하면 됩니다. 예를 들어 Linux에서 Chrome을 사용하는 환경이 하나만 있는 경우``--os Linux--브라우저 Chrome만 지정하면 식별할 수 있습니다.

웹 API 목록 기능 인증 --project-id {WORKSPACE_ID}` 명령을 실행하여 워크스페이스에 사용 가능한 모든 기능을 확인할 수 있습니다.

$ autify web api list-capabilities --project-id 0000
[
  {
    "os": "Linux",
    "os_type": "linux",
    "os_version": null,
    "browser": "Chrome",
    "browser_type": "chrome",
    "browser_version": "126.0",
    "device": null,
    "device_type": "computer",
    "timezone": "UTC"
  },
  {
    "os": "Windows",
    "os_type": "windows",
    "os_version": "10",
    "browser": "Edge",
    "browser_type": "edge",
    "browser_version": "124.0",
    "device": null,
    "device_type": "computer",
    "timezone": "UTC"
  },
  ...
웹 테스트 실행 인증은 가능한 모든 사용 사례를 지원하지 않음

다음은 웹 테스트 실행 인증에서 지원되지 않는 사용 사례 목록입니다. 현재 지원되지 않는 사용 사례가 필요한 경우 지원팀에 문의하세요.

  • 하나의 명령으로 여러 시나리오 실행

    • 해결 방법: 대신 시나리오당 여러 개의 웹 테스트 실행 인증을 실행하세요.
  • 하나의 명령에서 여러 기능 실행

    • 해결 방법: 대신 기능당 여러 개의 웹 테스트 실행 인증을 실행합니다.

2. API를 통해 직접 실행

웹 테스트 실행에서 다루지 않는 더 복잡한 솔루션이 필요한 경우 웹 API 인증 명령을 사용할 수 있습니다. 이 명령은 각 Autify API의 일대일 매핑이 있는 명령입니다.

다음 단계에 따라 이 작업을 수행할 수 있습니다:

  1. 실행하려는 시나리오의 시나리오 ID를 가져옵니다.
    1. URL https://app.autify.com/projects/{WORKSPACE_ID}/scenarios/{SCENARIO_ID}에서 가져옵니다.
    2. 웹 API 목록-시나리오 인증` 명령을 사용합니다.
  2. 웹 API 목록-기능 인증`을 사용하여 사용 가능한 기능(실행 환경)을 가져옵니다.
  3. 웹 API 실행 시나리오 인증`을 실행합니다.

자세히 살펴보겠습니다.

시나리오 ID 가져오기

먼저 실행할 시나리오의 시나리오 ID를 가져와야 합니다.

URL을 통해 시나리오 ID 가져오기

시나리오에 다음과 같은 URL이 있는 경우 {WORKSPACE_ID}는 워크스페이스 ID(이전의 프로젝트 ID)이고 {SCENARIO_ID}는 시나리오를 실행하는 데 필요한 시나리오 ID입니다.

https://app.autify.com/projects/{WORKSPACE_ID}/scenarios/{SCENARIO_ID}

CLI를 사용하여 시나리오 ID 가져오기

다음과 같이 autify web api list-scenarios를 실행하여 시나리오 ID를 일괄적으로 가져올 수도 있습니다:

autify web api list-scenarios --project-id {WORKSPACE_ID}

자체 HTTP 클라이언트를 사용하려면 아래 예시와 같이 요청을 보내세요:

GET /projects/{WORKSPACE_ID}/scenarios HTTP/1.1
Accept: application/json, text/plain, */*
Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN
Host: app.autify.com

기능 가져오기

다음으로 워크스페이스에 사용할 수 있는 기능 목록을 가져옵니다. 기능은 '웹 API 실행 시나리오 인증'을 실행할 때 지정할 수 있는 실행 환경입니다. 웹 API 목록-기능`을 통해 기능 목록을 확인할 수 있습니다.

autify web api list-capabilities --project-id {WORKSPACE_ID}

응답은 다음과 같은 객체 배열처럼 보일 수 있습니다. 각 개체는 사용 가능한 실행 환경인 기능을 나타냅니다.

$ autify web api list-capabilities --project-id 0000
[
  {
    "os": "Linux",
    "os_type": "linux",
    "os_version": null,
    "browser": "Chrome",
    "browser_type": "chrome",
    "browser_version": "126.0",
    "device": null,
    "device_type": "computer",
    "timezone": "UTC"
  },
  {
    "os": "Windows",
    "os_type": "windows",
    "os_version": "10",
    "browser": "Edge",
    "browser_type": "edge",
    "browser_version": "124.0",
    "device": null,
    "device_type": "computer",
    "timezone": "UTC"
  },
  ...

자체 HTTP 클라이언트를 사용하려면 아래 예시와 같이 요청을 보내세요:

GET /projects/{WORKSPACE_ID}/capabilities HTTP/1.1
Accept: application/json, text/plain, */*
Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN
Host: app.autify.com

웹 API 실행 시나리오`를 실행합니다.

이제 시나리오 ID와 기능이 준비되었으므로 autify 웹 API 실행 시나리오를 실행하여 테스트를 실행할 수 있습니다. 정보는 다른 선택적 매개변수와 함께 JSON 형식의 데이터로 설정해야 합니다.

execute_scenarios API의 파라미터

시나리오역량은 필수 파라미터이며, 다른 파라미터는 선택 사항입니다.

필드 이름데이터 유형이름필수?기본값
시나리오개체 목록
번호ID
이름(*)문자열아니요API 실행 + 테스트가 실행된 날짜
실행 유형"병렬" / "순차"아니요"병렬" ("순차" 작업 공간에서 병렬 실행이 비활성화된 경우)
기능개체 목록
문자열os아니요
문자열osversion아니요
문자열장치아니요
문자열브라우저아니요
문자열시간대**아니요기본 타임존 설정은 워크스페이스 설정을 따릅니다
URL 대체어개체 목록아니요공백(URL 대체어 없음)
문자열patternurl패턴url 및 대체url 모두 각 url대체 항목에 필요합니다.
문자열replacementurl

* 이 이름은 테스트 결과를 표시하는 데만 사용됩니다. 이 이름은 실행하려는 시나리오의 이름과는 관련이 없습니다.
** 타임존 기능은 특정 환경에만 제공됩니다. 자세한 문의가 필요시 고객 지원팀에 문의하세요.

예제

옵션이 포함되어 있습니다:

  • 크롬/리눅스 및 엣지/윈도우 서버에서 여러 시나리오를 순차적으로 실행합니다.
  • 테스트 결과의 이름입니다: "주문 흐름"
  • URL 교체: "https://example.com"에서 "https://autify.com"로
  • Timezone: "UTC" (기타 가능한 값은 “Etc/UTC”, “Asia/Tokyo”, 그리고 “JST” 입니다)
autify web api execute-scenarios --project-id '{WORKSPACE_ID}' --execute-scenarios-request '{
  "name": "Order flow",
  "execution_type": "sequential",
  "url_replacements": [
    {
      "pattern_url": "https://example.com",
      "replacement_url": "https://autify.com"
    }
  ],
  "capabilities": [
    {
      "os": "Linux",
      "browser": "Chrome",
      "timezone": "UTC"
    },
    {
      "os": "Windows Server",
      "os_version": "2019",
      "browser": "Edge"
    }
  ],
  "scenarios": [
    {"id": 1234 },
    {"id": 2345 },
    {"id": 3456 },
    {"id": 4567 }
  ]
}'

결과는 다음과 같습니다:

Screen Shot 2022-05-11 at 15.53.40.png

Screen Shot 2022-05-11 at 15.54.31.png

자체 HTTP 클라이언트를 사용하려면 아래 예시와 같이 요청을 보내세요:

POST /projects/{WORKSPACE_ID}/execute_scenarios HTTP/1.1
Accept: application/json, text/plain, */*
Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN
Content-Type: application/json
Content-Length: 323
Host: app.autify.com

{"name":"Order flow","execution_type":"sequential","url_replacements":[{"pattern_url":"https://example.com","replacement_url":"https://autify.com"}],"capabilities":[{"os":"Linux","browser":"Chrome"},{"os":"Windows Server","os_version":"2019","browser":"Edge"}, {"timezone": "UTC"}],"scenarios":[{"id":1234},{"id":2345},{"id":3456},{"id":4567}]}

결론

이 API는 테스트에 진정한 유연성을 제공합니다. 더 이상 특정 상황에서 필요한 테스트를 실행하기 위해 테스트 계획을 만들 필요가 없으며, 임시 테스트 계획을 유지 관리할 필요도 없습니다. Autify로 테스트를 어떻게 동적으로 실행할지 기대가 됩니다!


이 문서가 도움이 되었습니까?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.