--- title: "Autify APIによる柔軟なテスト実行ガイド | Autify Guide" slug: "flexible-test-execution-via-api" description: "AutifyをAPIと連携して柔軟なテスト実行を行う方法を学びましょう。シームレスな自動化テストを開始しましょう!" updated: 2024-12-16T02:46:22Z published: 2024-12-16T02:46:22Z canonical: "help.autify.com/flexible-test-execution-via-api" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.autify.com/llms.txt > Use this file to discover all available pages before exploring further. # APIによる柔軟なテスト実行 ## 概要 [`execute_scenarios` API](https://autifyhq.github.io/autify-api/#/scenario/post_project__project_id__execute_scenarios) を使うと、任意のシナリオをテストプランを作成せずに実行できます。 さらに、実行環境、実行タイプ(並列/直列)、URL置換もその場で指定することができます! このドキュメントでは、このAPI を有効利用するための[Autify Command Line Interface (CLI)](https://help.autify.com/docs/ja/autify-command-line-interface) を使った2つの方法、1. `autify web test run` による簡単な実行、2. `autify web api` を使ったよりカスタマイズ可能な実行、をご紹介します。 ## 前提条件: Autify CLI をセットアップする [Autify CLI をはじめてみよう](https://help.autify.com/docs/ja/autify-command-line-interface#%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86) に従って下さい。数分しかかかりません。 ## 1. 1つのテストシナリオを1つの実行環境(`capability`)で実行 1つのテストシナリオを1つの実行環境(`capability`)で実行したいというのは、最も単純ですが最も使われるユースケースです。Autify CLI は`autify web test run` というこのユースケースに対してとても役に立つコマンドを提供しています。使い方は以下の様になります: ``` 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" ``` このシンプルなコマンドで、指定されたテストシナリオをLinux/Chrome `capability` 上で、`http://example.com` を`http://example.net` にURL置換しながら実行して、そのテスト実行に"Sample" という名前をつけてくれます(これはAutify のUI でテスト結果を表示する時に使われます)。 利用可能な`capabilities` はお使いのワークスペースによって異なりますが、もし利用可能であれば以下の様な例を指定できます: ### デスクトップ `capabilities` - `--os`: - `Linux / Windows Server / Windows / OS X` - `--browser`: - `Chrome / Firefox / Safari / Edge` ### モバイル `capabilities` - `--device`: - `iPhone X / Galaxy S20 / ...` - `--device-type`: - `emulator / mobile` - `--os-version`: - `11.0 / ...` (Android) - `15 / ...` (iOS) お使いのワークスペースで利用可能な全ての`capabilitites` は以下のコマンドで確認できます。`autify web test run` は同じリストから指定されたオプションで絞り込んでくれます。なので、例えば`--os` と`--browser` だけでユニークな`capability` であれば、全てのオプションを指定する必要はありません: ``` $ 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": "JST" }, { "os": "Windows", "os_type": "windows", "os_version": "10", "browser": "Edge", "browser_type": "edge", "browser_version": "124.0", "device": null, "device_type": "computer", "timezone": "JST" }, ... ``` `autify web test run` は全てのユースケースをサポートはしていません 以下が`autify web test run` が今日現在サポートしていない幾つかのユースケースになります。もし需要があれば、これらをサポートすることも可能です: - 複数のテストシナリオを1コマンドで実行 - ワークアラウンド: 代わりに、テストシナリオ毎に`autify web test run` を実行する - 複数のcapabilities を1コマンドで実行 - ワークアラウンド: 代わりに、capability 毎に`autify web test run` を実行する ## 2. 直接API 経由で実行 もし`autify web test run` がカバーしていないより複雑なユースケースが必要であれば、`autify web api` コマンド群を使って、自由に組み合わせることができます。このコマンド群はAutify API と1対1対応しています。 手順は以下の通りです。 1. 実行したいシナリオのシナリオIDを、Autify UI で表示されているURL、または`autify web api list-scenarios` から取得する。 2. `capabilities`(利用可能な実行環境)を、`autify web api list-capabilities` を使って取得する。 3. `autify web api execute-scenarios` を実行する。 実際に、詳しく見ていきましょう。 ### シナリオIDの取得 まず、実行するシナリオのシナリオ IDを取得しましょう。 #### URLからシナリオIDを取得する シナリオが以下のURLの場合、`{workspace_id}`がワークスペースID(旧プロジェクトID)、`{scenario_id}`がシナリオを実行する際に必要となるシナリオIDに当たります。 - [https://app.autify.com/projects/](https://app.autify.com/projects/)`{workspace_id}`/scenarios/`{scenario_id}` #### `scenario` API でシナリオ ID を取得する シナリオIDは、`autify web api list-scenarios` を使って以下の様に一括で取得することも可能です: ``` 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 ``` ### `capabilities` を取得する 次に、利用可能な実行環境の一覧を取得しましょう。`capabilities` とは、 `autify web api execute-scenarios` を実行する際に指定できる実行環境を表すものです。`capabilities` の一覧は`autify web api list-capabilities` を使って取得できます: ``` autify web api list-capabilities --project-id {workspace_id} ``` レスポンスには以下のようなオブジェクトの配列が返されます。各オブジェクトは、利用可能な `capabilities`(実行環境)を表しています。 ``` [ { "os": "Linux", "os_type": "linux", "os_version": null, "browser": "Chrome", "browser_type": "chrome", "browser_version": "126.0", "device": null, "device_type": "computer", "timezone": "JST" }, { "os": "Windows", "os_type": "windows", "os_version": "10", "browser": "Edge", "browser_type": "edge", "browser_version": "124.0", "device": null, "device_type": "computer", "timezone": "JST" } ] ``` もしご自身のHTTP クライアントを使いたい場合は、以下の様なリクエストを送ります: ``` GET /projects/{workspace_id}/capabilities HTTP/1.1 Accept: application/json, text/plain, */* Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN Host: app.autify.com ``` ### `autify web api execute-scenarios` を実行する シナリオIDと `capabilities` が取得できたら、`autify web api execute-scenarios` を実行してテストを実行できます。これらの情報はJSON 形式のデータとして設定します。必要に応じて他のパラメータもあわせて指定しましょう。 | フィールド名 | データ型 | | 名前 | 必須項目? | デフォルト値 | | --- | --- | --- | --- | --- | --- | | scenarios | objectの配列 | | | Yes | | | | | number | id | Yes | | | name (*1) | string | | | No | API execution + テストが実行された日時 | | execution_type | "parallel” / “sequential” | | | No | “parallel” (ワークスペースで並列実行が無効かされている場合は ”sequential” になります) | | capabilities | objectの配列 | | | Yes | | | | | string | os | No | | | | | string | os_version | No | | | | | string | device | No | | | | | string | browser | No | | | | | string | timezone (*2) | No | | | url_replacements | objectの配列 | | | No | なし (URL置換は行われない) | | | | string | pattern_url | Yes | | | | | string | replacement_url | Yes | | *1 この名前はテスト結果の表示だけのために使用されます。実行したいシナリオの名前とは関係ないことに注意してください。 *2 timezone設定にはテスト環境による制限があります。詳しくはこちらをご参照ください [日本標準時 (JST) テスト実行](/v1/docs/ja/jst-test-execution) #### 例 オプションは以下の通りです。 - Chrome/Linux と Edge/Window Server で複数のシナリオを直列実行する - テスト結果の名前 "Order flow" - 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", "timezone": "UTC" } ], "capabilities": [ { "os": "Linux", "browser": "Chrome" }, { "os": "Windows Server", "os_version": "2019", "browser": "Edge", "timezone": "UTC" } ], "scenarios": [ {"id": 1234 }, {"id": 2345 }, {"id": 3456 }, {"id": 4567 } ] }' ``` 結果はこちらです: ![Screen Shot 2022-05-11 at 15.53.40.png](https://cdn.document360.io/a099d8a2-cfd2-42ca-9906-68b4a337f4a5/Images/Documentation/Screen%20Shot%202022-05-11%20at%2015.53.40.png?sv=2026-02-06&spr=https&st=2026-11-06T21%3A49%3A59Z&se=2026-11-06T22%3A49%3A59Z&sr=c&sp=r&sig=q6n6%2BVjP%2B1YgnCVrl85lpHaXmWBURp2lEZGW7FbJxNA%3D) ![Screen Shot 2022-05-11 at 15.54.31.png](https://cdn.document360.io/a099d8a2-cfd2-42ca-9906-68b4a337f4a5/Images/Documentation/Screen%20Shot%202022-05-11%20at%2015.54.31.png?sv=2026-02-06&spr=https&st=2026-11-06T21%3A49%3A59Z&se=2026-11-06T22%3A49%3A59Z&sr=c&sp=r&sig=q6n6%2BVjP%2B1YgnCVrl85lpHaXmWBURp2lEZGW7FbJxNA%3D) もしご自身の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"}],"scenarios":[{"id":1234},{"id":2345},{"id":3456},{"id":4567}]} ``` ## まとめ これらのAPIを活用すれば、自在にテストを実行できます。その時々で実行したいテストを行うためにテストプランを作成することは必要なくなり、一度きりのテストプランをメンテナンスする必要はありません。皆様がAutifyでどのようにテストを実行されるか、楽しみにしています!