mabl CLI を利用する

mabl CLIの具体的な利用方法を解説します。

はじめに

CLIのほとんどの機能を利用するには、まず認証が必要です。

mabl auth login

認証に成功すると、セッションは4時間有効となります。認証に成功したかどうかを確認するには、次のように実行します。

$ mabl auth info
> Logged in as user [[email protected]]
> Login expires in [3 hours, 23 minutes]

サポートされているトップレベルのコマンドは以下になります。CLIでの作業の基本的なパターンを知ることができます。

$ mabl <command>

Commands:
  mabl applications <command>  Manage your applications
  mabl auth <command>          Manage auth for the mabl CLI
  mabl branches <command>      Manage mabl branches
  mabl config <command>        Configure defaults for the mabl CLI
  mabl credentials <command>   Manage your testing credentials
  mabl deployments <command>   Manage mabl deployments
  mabl environments <command>  Manage your environments
  mabl tests <command>         Manage tests
  mabl test-runs <command>     Manage existing test runs
  mabl workspaces <command>    Manage your workspaces

Options:
  --version   Show version number  [boolean]
  -h, --help  Show help  [boolean]

Read full docs @ https://help.mabl.com/docs/mabl-cli

サポートされているすべてのコマンドのヘルプや、特定のコマンドで利用可能なオプションのヘルプを見るには、 --help フラグを例のように使用します。

mabl --help
mabl <command> --help

ワークスペースをCLIで操作する

mabl CLIを使って、ワークスペース、アプリケーション、環境、テストなどの情報を得ることができます。各タイプのエンティティのリストを取得するには、以下のいずれかを実行します。

mabl workspaces list 
mabl branches list 
mabl applications list
mabl environments list
mabl deployments list
mabl credentials list
mabl tests list

環境などの特定のエンティティに関する詳細な情報を得るには、以下のいずれかを実行します。

mabl workspaces describe <workspace-id>
mabl applications describe <application-id>
mabl environments describe <environment-id>

その後、この情報を他のCLIコマンドで使用することができます。例えば、リグレッションテストプランの実行をトリガーするmablのデプロイメントイベントを作成することができます。

テストの作成

mabl CLIを使用すると、mablウェブアプリを介さずに、ターミナルのコマンドラインから直接新しいテストを素早く作成することができます。例えば、新機能に取り組んでいるソフトウェア開発者であれば、Visual Studio Codeのターミナルから直接、ローカル環境に対して新しいエンドツーエンドのテストを素早く作成することができます。

コマンドラインからテストを作成するには、次のコマンドを実行し、テストの開始URLと名前を次のように指定します。テスト名にスペースを使用するには、引用符で囲む必要があることに注意してください (例: "My new test")。

$ mabl tests create <url> <test name>

>Creating test:  My new mabl test
>Url:  https://example.com
>Workspace:  1111aa_222bbb333ccc44-w

このコマンドを実行すると、ローカルのChromeブラウザーのインスタンスが開きます。ブラウザは指定されたURLに移動し、Trainerを使用してテストステップを作成することができます。テストの作成が完了したら、作業内容を保存してTrainerを閉じると、コマンドラインに戻ります。

テストを作成するためのさまざまなオプションについて詳しく知りたい場合は、以下のように tests create コマンドに --help オプションを追加してください。

$ mabl tests create --help

Create a test using the mabl Trainer

Positionals:
  url        The url to test  [string] [required]
  test-name  The name of the test  [string] [required]

Options:
  --version                   Show version number  [boolean]
  -h, --help                  Show help  [boolean]
  --desc, --test-description  Description for the test  [string] [default: ""]
  --width                     Set the browser width in pixels  [number] [default: 1366]
  --height                    Set the browser height in pixels  [number] [default: 768]
  --mabl-branch               Branch to run the mabl test against  [string]
  --auto-branch               Create a mabl branch when a mabl-branch target is specified that does not exist  [boolean] [default: false]
  -w, --workspace-id          Workspace to create test in  [string]
  --creds, --credentials      Credentials ID to run the test with  [string]

mabl tests list コマンドを実行すると、ワークスペースに作成されたすべてのテストを確認することができます。

テストの編集

ローカルでテストを編集するには、test id または test run id のいずれかを指定する必要があります。これらは、テストの詳細ページのCLI情報ボタンの下にあるか、テストの出力ページの右上のアクションメニューの下にあります(メニューの位置についての詳細は、Running testsセクションを参照してください)。必要なIDを取得したら、次のコマンドを使用してテスト編集セッションを開始します。

mabl tests edit --id <id>

# Alternatively supply a test-run-id
mabl tests edit --run-id <id>

すると、新しいChromeウィンドウが開き、その中でmabl trainerの編集セッションが初期化されます。その他の設定オプションは、コマンドに -hフラグを付けて実行することで確認できます。

テストの実行

mabl CLIを使用して、3つの異なる方法でテストを実行できます。

  1. テストの迅速な検証のためにローカルマシン上で実行できます。しかし、テスト失敗時のトラブルシューティングのための情報は制限されます(スクリーンショットなど)。
  2. mablクラウドで完全なテストと並列処理を行う。
  3. CI/CDパイプラインの一部として、デプロイメントイベントでビルドのフィードバックを得る。

ローカル実行

テストをローカルに実行するには、まず実行したいテストの ID を取得する必要があります。コマンドラインから、mabl tests list でワークスペース内のすべてのテストをリストアップし、目的のテストIDをコピーすることができます。または、mablウェブアプリでIDを見つけることもできます。詳細については、このページ以下にある「CLI用のmablリソースIDの取得について」を参照してください。

テストIDを取得したら、次のコマンドを使ってCLIからローカル実行をトリガーすることができます。このコマンドは、ローカルマシン上のChromeで、ヘッドレスではなくフルブラウザモードでテストを実行します。

mabl tests run --id <id>

また、テストランIDを使用して、前回のクラウド実行と同じ構成でローカルにテストを実行することもできます。テストランIDの取得方法の詳細は、下記の「CLI用のmablリソースIDの取得について」セクションをご参照ください。

mabl tests run --run-id <id>

ブラウザでテスト対象のアプリとのやりとりを見ながら、ターミナルでテストの実行状況を監視することができます。

3832

さらに高速に実行するには、--headless オプションを使用して、テストをヘッドレスモードでローカルに実行することができます。

mabl tests run --id <test id> --headless

クラウドでテストを実行

CLIを使用してローカルでテストを実行し、今度はクラウドで実行して各ステップの豊富なデータ(例:スクリーンショット、DOMスナップショット、ネットワークアクティビティなど)を取得したいとします。以下のコマンドでmablクラウドでのテスト実行をトリガーすることができます。

mabl tests run-cloud --id <id> --url <url>

ローカルでのテスト実行で説明したように、テスト ID を取得し、テストを開始する必要のある URL を指定できます。また、 オプションの代わりにデプロイメント ID を指定することで、特定のデプロイメントでのテスト実行と同じ URL およびブラウザでテストを実行することができます。デプロイメント上でのテストの実行については、以下を参照してください。

ラベルやブランチでテストを選択する

ラベルを使って、テストを検討対象に含めたり除外したりすることができます。たとえば、テストラベルが feature-x と feature-y のテストはすべて実行するが、 work in process のラベル (wip など) のテストは次のような表現で除外することができます。

# Launch all tests labeled 'feature-x' OR 'feature-y'
mabl tests run-cloud --labels feature-x feature-y

# Launch all tests with labels, but exclude WIP labeled tests
mabl tests run-cloud --labels feature-x feature-y --exclude-labels wip

また、 --mabl-branch <branch-name> を使えば、ブランチを使って実行するテストの種類を選ぶことができます。さらに、--branch-changes-only フラグを使用すると、 あるブランチで変更されたテストだけを (そのブランチの残りの部分ではなく) 実行することができます (次の例を参照ください)。

# Constrain tests to a specific branch with a specific test id
mabl tests run-cloud --mabl-branch my-feature-branch --id <id>

# Constrain tests to only a specific branch AND only tests edited on that branch that match a label called WIP
mabl tests run-cloud --mabl-branch my-feature-branch --branch-changes-only --labels WIP

run-cloudコマンドのすべてのオプションを表示するには、--help オプションを使用します。

$ mabl tests run-cloud --help  

Run test(s) in the mabl cloud

Options:
  --version              Show version number  [boolean]
  -h, --help             Show help  [boolean]
  --id                   the id of the test to run  [string]
  --deployment-id, -d    Deployment to run the mabl tests against  [string]
  --url, -u              URL to run the mabl test against  [string]
  --browsers, -b         Space delimited browsers to test against (e.g. "chrome firefox")  [array] [required]
  --api-key, -k          API key (found in the mabl web app)  [string]
  --mabl-branch          Mabl branch to run test against  [string]
  --branch-changes-only  Only execute tests changed on specified branch  [boolean] [default: false]
  --revision, --rev      Code revision hash (application under test)  [string]
  --labels               Space delimited test labels. Run tests that match any label.  [array]
  --exclude-labels       Space delimited test labels. Exclude tests that match any label.  [array]
  --workspace-id, -w     Workspace to run against  [string]
  --prompt               Prompt to confirm execution selections  [boolean] [default: true]
  --no-prompt, --yes     Do not prompt to confirm execution selections  [boolean]

Examples:
  mabl tests run-cloud --id <id>                   run test by id
  mabl tests run-cloud --labels <label1> <label2>  run tests by test label

デプロイ時のテスト実行

指定したアプリケーションと環境のテストを実行するデプロイメントイベントをトリガーするには、次のコマンドを実行します。

mabl deployments create --application-id <application_id> --environment-id <environment_id>

# Specify source control information to use with mabl GitHub App
mabl deployments create \
 --application-id <application_id> \
 --environment-id <environment_id> \
 --revision 41d502b463a37e87047148a6000411a1e1bf9a79 \
 --repository-url [email protected]:example-org/example-repo.git

これにより、デプロイメントイベントで実行されるように設定され、無効になっていない、そのアプリ環境のすべてのmablプランが実行されます。--labels オプションを使用すると、デプロイ時に実行されるプランをさらに絞り込むことができます。

--revision および --repository-url フラグを渡すと、mabl CLI で開始したテストと mabl GitHub App で開始したテストを連携させることができることに注意してください。これらの値を指定し、GitHub Appをインストールしておけば、GitHub ChecksはGitHubのコミットやプルリクエストにテストの詳細な結果とともに表示されるようになります。mablのGitHubインテグレーションの設定についてはこちらをご覧ください。

mablのアプリケーションと環境のIDを取得するには、mablアプリの「Settings --> APIs」に進み、「Deployment Events API」を選択し、「Application and Environment」を選択して、ページの一番下までスクロールすると、それぞれのIDを示すCURLコマンドが生成されています。

エフェメラル環境やプレビュー環境に対してテストを実行するには、--app-url--api-url 引数を使用して、それぞれ別のアプリケーションと API の URL を指定します。これらの引数は、テストの app.url および api.url 変数を更新します。

Mablアプリのすべてのデプロイメントイベントは、「Results --> By Deployment」で確認することができます。

mablのすべてのデプロイメントイベントを見るには、次のように実行します。

mabl deployments list

また、特定のデプロイメントの詳細を得るには、次のように実行します。

mabl deployments describe <deployment_id>

サポートされているすべてのデプロイメントコマンドとオプションについては、以下を実行してください。

mabl deployments --help

テストデータのエクスポート

mabl CLIを使用して、指定したテスト実行のすべてのスクリーンショットをエクスポートすることができます。お客様は通常、スクリーンショットを使ってチームで製品設計の議論をしたり、コンプライアンス上の理由で使用します。例えば、アプリのユーザーサインアップとオンボーディングフローをテストするテストがある場合、スクリーンショットを入手して、サインアップを増やすためにユーザーエクスペリエンスを最適化する方法をチームと議論することができます。

まず、テストランIDが必要です。テスト出力ページからテストランIDを取得する方法については、以下の「CLI用のmablリソースIDの取得について」セクションを参照してください。

次に、ターミナルに行き、前にコピーしたテストランIDを使って、以下のmabl CLIコマンドを実行します。

mabl test-runs export <test-run-id>

これにより、すべてのスクリーンショットがZIPファイルとしてパッケージ化され、CLIコマンドを実行した作業ディレクトリのコンピュータにダウンロードされます。テストに多くのステップがある場合、スクリーンショットのダウンロードに数分かかり、100MiB以上のファイルになることがあります。

すべてのエクスポート・オプションを確認するには、次のように実行します。

mabl test-runs export --help

CLI用のmablリソースIDの取得について

mablウェブアプリでは、mabl CLIリソースIDsモーダルウィンドウを通じて、mabl CLIで使用するために必要なテストID、テストランIDなどを簡単に取得することができます。

845

様々なコマンドを確認でき、実行もコピーするだけで簡単にできます。

テスト詳細ページ

テストの詳細ページから、mabl CLIのリソースIDビューアを使って簡単にテストIDを取得することができます。ページ上の左上ツールバーのターミナルアイコンをクリックしてモーダルウィンドウを開きます。モーダルウィンドウには、CLIで使用される他の関連IDとともにテストIDが含まれます。IDを簡単にコピーするには、コピーボタンを使用します。

463

CLI情報ボタンはこちら。

テスト結果ページ

テスト出力ページには、CLIリソースIDビューアも含まれています。右上隅の "Edit steps "ボタンの隣にあるアクション・メニューから同じモーダルウィンドウにアクセスできます。ドロップダウンメニューから "CLI info "を選択すると、テスト出力のランIDを含むモーダルウィンドウが表示されます。

417

テスト結果ページのアクションメニューの位置


Related resources