mablは、ブラウザを介したE2Eテスト内で、APIステップを追加できます。それとは別に、テストしたいアプリケーションのAPIをエンドツーエンドで自動テストする「APIテスト」も可能になりました。ブラウザを介する必要があるブラウザテストとは異なり、APIテストはHTTPプロトコルといったメッセージレイヤで実行されるため、ブラウザテストよりもはるかに高速に実行されます。
ユースケース
APIテストのユースケースとして以下が考えられます。
- APIテストが機能性、信頼性、パフォーマンス、セキュリティに対して期待を満たしているか確認したい場
- ブラウザテストとAPIテストを同じPlanに設定して、変数の形でテストデータを共有したい場合
API テストのテスト出力
APIテストを利用する際の流れ
APIテストをする場合の、おおまかな流れは以下のようになります。
- Configuration > Application からAPIのURLを設定します。これによってさまざまな環境(Environment)からAPIテストを簡単に実行できます。
- APIテストの有名ツールであるPostmanを使ってAPIテストを作りましょう。作成したテストはmablにインポートできるため、すでにPostmanスクリプトがある場合は、それを簡単に取り込めます。
- mablでAPIテストを実行し、結果を確認します。
- APIテストを更新する場合は、mablからも更新できますし、Postmanを使ってAPIテストを更新し、再度、mablにimportすることも可能です
- mablでスケジューリング設定を行えば、デプロイや定期的なタイミングで自動実行可能です
FAQ
独自のAPIテストを定義するにはどうすればいいですか?
最初のAPIテストを作成する前に、環境を設定する必要があります。その後、左側のナビゲーションの [New test] をクリックし、[API test] を選択して開始します。詳細については、APIテストの作成についてのガイドを参照してください。
トレーニング済みのテストを編集することはできますか?
はい。ブラウザーテストと同様に、APIテストの編集と更新も、テスト詳細ページの [Edit test] ボタンをクリックすることで行えます。
mablのクラウドでのAPIテストはどのように実行されるのですか?
mablは、仮想化されたクラウドインフラストラクチャーを使用してAPIテストを実行します。クラウドでのAPIテストは、mablデスクトップアプリケーションでのローカルな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でお知らせください。