- 인쇄
- 어두운빛
개요
execute_scenarios API는 테스트 계획을 작성하지 않고도 모든 시나리오를 실행하는 데 사용할 수 있습니다.
또한 실행 환경, 실행 유형(병렬/순차), URL 대체를 즉석에서 지정할 수도 있습니다!
이 문서에서는 Autify 명령줄 인터페이스(CLI)를 통해 이 API를 활용하는 두 가지 방법을 보여드리고자 합니다:
- 쉬운 실행을 위한 '웹 테스트 실행 자동 인증'
- 보다 사용자 정의 가능한 실행을 위한
오티파이 웹 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의 일대일 매핑이 있는 명령입니다.
다음 단계에 따라 이 작업을 수행할 수 있습니다:
- 실행하려는 시나리오의 시나리오 ID를 가져옵니다.
- URL
https://app.autify.com/projects/{WORKSPACE_ID}/scenarios/{SCENARIO_ID}
에서 가져옵니다. - 웹 API 목록-시나리오 인증` 명령을 사용합니다.
- URL
- 웹 API 목록-기능 인증`을 사용하여 사용 가능한 기능(실행 환경)을 가져옵니다.
- 웹 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 }
]
}'
결과는 다음과 같습니다:
자체 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로 테스트를 어떻게 동적으로 실행할지 기대가 됩니다!