APIテストの概要
mablは、ブラウザを介したE2Eテスト内で、APIステップを追加できます。それとは別に、テストしたいアプリケーションのAPIをエンドツーエンドで自動テストする「APIテスト」も可能になりました。ブラウザを介する必要があるブラウザテストとは異なり、APIテストはHTTPプロトコルといったメッセージレイヤで実行されるため、ブラウザテストよりもはるかに高速に実行されます。
ユースケース
APIテストのユースケースとして以下が考えられます。
- ブラウザテストが依存するテストデータを高速に、確実にセットアップ・リセット(teardown)したい場合
- ブラウザテストとAPIテストを同じPlanに設定して、変数の形でテストデータを共有したい場合
- APIテストが機能性、信頼性、パフォーマンス、セキュリティに対して期待を満たしているか確認したい場合

mabl API test run results.
APIテストを利用する際の流れ
APIテストをする場合の、おおまかな流れは以下のようになります。
- Configuration > Application からAPIのURLを設定します。これによってさまざまな環境(Environment)からAPIテストを簡単に実行できます。
- APIテストの有名ツールであるPostmanを使ってAPIテストを作りましょう。作成したテストはmablにインポートできるため、すでにPostmanスクリプトがある場合は、それを簡単に取り込めます。
- mablでAPIテストを実行し、結果を確認します。
- APIテストを更新する場合は、mablからも更新できますし、Postmanを使ってAPIテストを更新し、再度、mablにimportすることも可能です
- mablでスケジューリング設定を行えば、デプロイや定期的なタイミングで自動実行可能です
Enterprise機能
APIテストは、トライアルユーザーとEnterpriseサブスクリプションプランのお客様が使用できます。
FAQ
独自のAPIテストを定義するにはどうすればいいですか?
最初のAPIテストを作成する前に、環境を設定する必要があります。その後、左側のナビゲーションの [New test] をクリックし、[API test] を選択して開始します。詳細については、APIテストの作成についてのガイドを参照してください。
トレーニング済みのテストを編集することはできますか?
はい。ブラウザーテストと同様に、APIテストの編集と更新も、テスト詳細ページの [Edit test] ボタンをクリックすることで行えます。
mablのクラウドでのAPIテストはどのように実行されるのですか?
mablは、仮想化されたクラウドインフラストラクチャーを使用してAPIテストを実行します。クラウドでのAPIテストは、mablデスクトップアプリケーションでのローカルなAPIテスト実行と同じロジックを使用して実行されます。サーバーからの応答が収集され、テスト出力ページに表示されます。
APIテストの割り当てに影響するのは、どのようなものですか?
クラウドでAPIテストまたはAPIステップの一部として実行されるすべてのリクエストが、ワークスペースに対する毎月のAPIリクエスト割り当てに影響します。
たとえば、5つのAPIステップを持つブラウザーテストをクラウドで実行した後、20のAPIステップを持つAPIテストをクラウドで実行した場合、送信されたリクエストの総数は25です。APIテストの使用状況の詳細は、使用状況ページ ([Settings] > [Usage]) で見ることができます。
APIテストとブラウザーテストのローカル実行はどちらも、mabl TrainerおよびAPIテストエディターで実行されたステップを含め、割り当てにはまったく影響しません。
APIテストではブラウザーテストと同じ機能がサポートされますか?
現在、mablでのAPIテストでは、ブラウザーテストで利用できる次の機能がサポートされていません。
- 再利用可能なフロー
- JavaScriptスニペット
- APIテストではmabl変数構文がサポートされますが、その他の有効な式 (マクロ、faker値、数式) はサポートされません。ただし、APIテストでは、mablとPostmanとのインテグレーションにより、Postmanの動的変数がサポートされます。
Postmanコレクションをmabl APIテストに変換できますか?
はい。Postmanコレクションをmablにインポートする方法の詳細については、こちらを参照してください。
APIテストステップではファイルのアップロードがサポートされますか?
はい。こちらの手順を実行することで、APIリクエストでファイルをアップロードできます。
APIテストではWebsocketにリクエストを送信できますか?
いいえ。APIテストは現時点ではWebsocketのテストをサポートしていません。Websocketのテストが必要なユースケースがある場合は、Mabl Product Portalでお知らせください。
Updated 4 months ago