APIテストでの変数の使用

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

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

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

  • テストで生成される変数
  • データ駆動型変数 (DataTableシナリオの変数を含む)
  • 環境変数

変数の作成

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

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

テストで生成される変数

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

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

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

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

データ駆動型変数

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

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

2392

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

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

DataTable

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

環境変数

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

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

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

変数の使用方法

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

1504

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

1514

変数を使用した期待される値のアサーション

ランダム変数

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

771

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