初めてのAPIテスト

APIの設定からレスポンスの検証まで

APIテストは、APIが期待どおりに機能することをすばやく確認できる優れた手段です。mablでは、ブラウザーテストでAPIステップを使用し、APIテストエディターAPIテストを作成することでAPIをテストできます。

このチュートリアルでは、ワークスペースの設定からAPIテストエディターでのレスポンスの検証までの、mablでAPIテストを作成するための基本的な操作について説明します。

開始する前に

このチュートリアルでは、ワークスペース内のユーザーに関する情報を取得するmabl APIエンドポイントの機能を検証するAPIテストを作成します。テストを作成する前に、次の手順を実行します。

必要な情報を収集する

このチュートリアルを実行するには、次の情報が必要です。

  • ワークスペースID: [Settings] > [Workspace]に移動して、ワークスペースIDをコピーします。

  • "Viewer" APIキー: [Settings] > [API]に移動して、"Viewer" APIキーを作成します。

📘

APIの権限

選択した役割が編集者または閲覧者の場合は、ワークスペースの所有者にAPIキーへのアクセス権限を依頼してください。

ワークスペースをセットアップする

mabl APIをテストするには、mabl APIをアプリケーションとしてワークスペースに追加します。[Configuration] > [Applications]に移動し、次の手順を実行します。

  • "Demo" という新しい環境を追加します。
  • "mabl API" という新しいアプリケーションを追加し、"Demo" 環境に関連付けます。

"mabl API" アプリケーションを作成する際は、次の2つのアプリケーションURLを指定する必要があります。

*WebアプリケーションのURLは、アプリケーションを作成するのに必要ですが、このチュートリアルでは必要ありません。

Adding an application URL

アプリケーションのURLの追加

📘

新しいワークスペース?

ワークスペースにアプリケーションや環境が存在しない場合は、[Configuration] > [Applications] に移動し、[New]ボタンをクリックします。"mabl API" アプリケーションと "Demo"環境を一緒に作成することができます。

APIテストの作成

[New test] ボタンをクリックし、[API test]を選択します。初めてAPIテストを作成する場合は、テスト名を指定し、[No plan] を選択して、mabl APIアプリケーションに関連付けます。

👍

命名規則とラベル

チームでは、ワークスペース内で練習用のテストとその他のテストを区別するのに使用できる命名規則とラベルについて話し合っておきます。以下のような例を検討してください。

  • 命名規則: 「ウォークスルー - APIテスト - 各自の名前」
  • ラベル: 「チュートリアル」、「ウォークスルー」、「練習用」は、練習用のテストを区別するのに適したラベルです。
Creating a new API test

新規APIテストの作成

[Create test] ボタンをクリックして、APIテストエディターを起動します。

認証をセットアップする

mabl APIエンドポイントにリクエストを送信する際は、APIキーを提供する必要があります。認証をセットアップするには、鉛筆アイコンをクリックしてフローレベルの設定を編集します。

Open flow properties modal

フローレベルの設定の編集

[AUTH] タブで、[Basic Auth] を選択します。ユーザー名として "key" を追加し、パスワードにAPIキーを入力します。

Add flow-level auth

APIリクエスト用の認証の追加

ワークスペース内のすべてのユーザーの取得

最初のリクエストでは、ユーザーの照会 (Query Users)エンドポイントにGETリクエストを送信します。最初にプラス記号 (+)ボタンをクリックします。

リクエストの詳細を追加する

ユーザーの取得エンドポイントのURLは、https://api.mabl.com/users\です。URLをすべて入力する代わりに、mabl変数構文を使ってリクエストを{{@api.url}}/users\に簡略化します。

📘

{{@api.url}}

{{@api.url}}はベースAPI URL: https://api.mabl.comを表します。

[PARAMS]タブをクリックし、次のように、パラメーターとしてワークスペースIDを追加します。

リクエストの詳細の追加

リクエストの詳細の追加

リクエストの設定が済んだら、[Send]ボタンをクリックします。[Results]セクションで、レスポンスボディにワークスペースユーザーの一覧が表示されます。

レスポンスボディの確認

レスポンスボディの確認

レスポンスを検証する

アサーションを使用すると、APIエンドポイントが期待どおりのレスポンスを返していることを検証できます。

📘

デフォルトのアサーション

デフォルトでは、APIテストエディターで、HTTPステータスが200のアサーションが作成されます。それぞれのユースケースに応じて、201や204など、別のHTTPステータスを検証するようにアサーションを編集することもできます。

レスポンスでusersプロパティが返されていることをアサートしてみます。

  • [Validation and variable assignment]セクションで、[Assertions] タブを選択します。

  • [Add] ボタンをクリックします。

  • 次のJSONパスを入力します。users

  • アサーションのタイプとして "Is present" を選択します。

アサーションの作成

アサーションの作成

リクエストを再度送信し、[Results] セクションの [Assertions]タブでアサーションの結果を確認します。

アサーションのテスト

アサーションのテスト

変数を作成する

レスポンスから変数を作成することもできます。最初のユーザーのメールアドレスを格納する変数を作成してみます。

  • [Validation and variables assignment]セクションで、[Variables] タブを選択します。

  • [Add] ボタンをクリックします。

  • 次のJSONパスを入力します。 users[0].email

  • 次の変数名を割り当てます。 email

レスポンスから新しい変数を作成

レスポンスから新しい変数を作成

メールによるユーザーのフィルタリング

このチュートリアルの最後のステップでは、"email"パラメーターを指定してユーザーの照会 (Query Users)エンドポイントにGETリクエストを送信します。

リクエストの詳細を追加する

URL {{@api.url}}/usersを入力します。[PARAMS]タブをクリックし、次のパラメーターを追加します。

  • workspace_id: ここにはワークスペースIDを貼り付けます

  • email: {{@email}}*

*これはメールアドレス変数の値です。

2番目のリクエストの追加

2番目のリクエストの追加

[Send] をクリックし、[Results]セクションでレスポンスを確認します。

レスポンスを検証する

レスポンスボディのユーザーIDが\user_id\変数の値と一致していることを検証するアサーションを作成します。

変数に対するアサーション

変数に対するアサーション

[Send] を再度クリックし、[Results] の [Assertions]タブを確認して、アサーションに合格したことを検証します。

テスト全体の実行

APIテストエディターで、左上にある再生ボタンをクリックしてテスト全体を実行します。これで、初めてのAPIテストの作成は完了です。🎉

次のステップ

APIテストエディターについて理解したところで、自分のチームのAPIをテストする際にAPIテストエディターをどのように利用できるかを考えてみましょう。次のような点について検討します。

  • どのような機能の検証を行う必要があるか?

  • この機能を検証するには、どのエンドポイントにリクエストを送信する必要があるか?

  • mablでエンドツーエンドのブラウザーテストを強化するには、APIエンドポイントをどのように使用すればよいか?

詳細はこちら

テストカバレッジを拡大するためのAPIテストの使用方法の詳細については、以下をご覧ください。