APIテストでの変数の利用

APIテストエディターでの変数の作成と利用

APIテストで変数を利用すると、動的な値に対してアサーションを設定したり、あるAPIレスポンスと別のAPIレスポンスの値を比較したり、ランダム値を生成したり、データ駆動型テストを行ったり、動的データを扱う必要のあるシナリオをテストしたりすることができます

APIテストでは、次のタイプの変数が利用できます。

変数の作成

APIテスト内で変数を作成するには、主に以下の2つの方法があります。

  • [Validation and variable assignment] パネルを使用して、テストで生成される変数を作成する
  • 左側のパネルにある [Variables] セクションを使用して、データ駆動型変数や環境変数のプレースホルダーの値を作成する

テストで生成される変数

テストで生成される変数は、次の手順で、APIステップのレスポンスから作成します。

  1. 画面の右側にある [Validation and variable assignment] セクションをクリックします。パネルが開きます。
  2. [Variables] タブを選択します。
  3. [Add] ボタンをクリックします。変数割り当てカードが表示されます。
  4. Descriptionフィールド に、変数の説明を入力します。
  5. 変数のターゲットを選択します。ヘッダーを選択した場合は、ヘッダーキーを入力します。JSONボディの場合は、ターゲットレスポンスプロパティへのJSONパスを入力します。
  6. [Assign to variable] 入力フィールドで、変数に名前を付けます。
1508

テストで生成される変数の作成

リクエストを再度送信すると、左側のパネルの [Variables] セクションにこの変数が表示されます。変数は連続するテストステップで使用したり、同じプラン内の他のテストと共有したりすることができます。

データ駆動型変数

APIテストでデータ駆動型変数を使用する場合は、左側にある [Variables] セクションを使用します。

[行を追加] ボタンをクリックし、名前とデフォルト値を入力します。

2392

アサーションで使用するデータ駆動型変数の作成

変数名が一致している場合 (大文字と小文字を区別)、テストのデフォルト値はデータ駆動型変数で上書きされます。データ駆動型変数は、DataTableのシナリオや、同じプラン内の前のテスト実行 (共有変数) に基づきます。

DataTable

APIテストにはDataTableを関連付けることができます。DataTableのシナリオを使ってAPIテストを編集するには、こちらの手順に従ってください。

環境変数

複数の環境にまたがってAPIテストを実行する必要がある場合は、環境変数を使用して、環境固有の変数をAPIテストに渡すことができます。必要な手順は以下のとおりです。

  1. APIテストエディターで、左側にある [Variables] セクションに変数を追加します。
  2. 変数のデフォルト値を指定します。この変数はその後、環境に応じて上書きされます。
  3. テストの変数名が環境変数と一致していることを確認します。

mablクラウドでAPIテストを実行する際に、目的の環境を選択すると、mablはその環境から取得した環境変数値の値を使用します。

変数の使用

APIリクエストまたはAPIレスポンスの検証で変数を使用するには、mabl変数構文を使用します。次の例では、ユーザーに関する情報を取得するために、mabl変数構文 ({{@existing_user_id}}) を使って変数 existing_user_id をURLに追加しています。

1504

変数は、[Validation and variables assignment] セクションでも使用できます。たとえば、APIレスポンスの値がDataTableのシナリオから取得された値と一致しているかどうか確認する場合は、アサーションでmabl変数構文を使ってDataTableの値を表すことができます。

1514

変数を使用してレスポンス内の値へのアサーションを設定

ランダム変数

APIテストではmablの変数構文を使用できますが、その他の有効な式 (マクロ、ダミー値、数式) はサポートされません。ただし、APIテストでは、mablとPostmanとのインテグレーションにより、Postmanの動的変数が使用できます。

771

リクエストでのPostmanの動的変数の使用