テスト間での変数の共有

mablを使用すると、同じプラン内のテスト間で変数を共有できます。

ユースケース

  • ユーザーIDや電子メールなど、ランダムに生成された変数を使用してテストデータを作成し、プランの最後に行われる別のテストでそれらのテストデータを削除する。
  • あるテストで変数を生成し、それを同じプランの別のテストで検証する。たとえば、ユーザーを作成して、そのユーザーを別の役割に割り当てる。

テストのセットアップ

テスト間で変数を共有するには、通常、次の手順を実行します。

  1. 共有する変数を生成するテストを作成します。
  2. このテストに変数の共有を設定します。
  3. 共有変数を利用する他のテストを作成します。
  4. それらすべてのテストを同じプランに追加します。

変数の共有

テスト実行中に以下のソースから値を生成したすべての変数を共有できます。

  • 文字列テンプレート
  • エレメントプロパティ
  • mabl mailbox
  • JavaScriptステップ
  • APIステップ
ランダムな文字列テンプレートから変数を作成ランダムな文字列テンプレートから変数を作成

ランダムな文字列テンプレートから変数を作成

これらの変数は「テスト生成変数」といいます。テストにこれらの変数の共有を設定するには、次の手順を実行します。

テストの詳細に移動し、テストの編集ボタンを編集します。

テストの詳細を編集テストの詳細を編集

テストの詳細を編集

次に、以下に示すように、変数の共有を有効にします。

変数の共有を有効化変数の共有を有効化

変数の共有を有効化

次に、共有変数の受け取り先となるテストを作成します。テストは実行時にどの変数を受け取るかを把握していないため、データ駆動型変数を作成して使用する必要があります。デフォルト値はプレースホルダーにします。変数名は、テストで受け取る変数の名前と一致する必要があります。名前は、大文字と小文字が区別されます。

userId」という名前のデータ駆動型変数を作成userId」という名前のデータ駆動型変数を作成

userId」という名前のデータ駆動型変数を作成

テストの実行中、受け取った変数の名前が完全に一致する限り、デフォルト値は受け取った変数の値で上書きされます。

🚧

変数名の競合の解決

複数のテスト実行が同じ変数を生成して共有するものの、値が異なる場合、最後に完了したテスト実行が、前のテスト実行によって設定された変数値をオーバーライドします。これは、プランに複数のブラウザー、Run Multiplierがある場合や、テストのDataTableが複数のシナリオに関連付けられている場合にも当てはまります。

テストの同じ変数に複数の値が渡される場合、DataTable、テスト共有、環境の順に優先されます。DataTableシナリオの値は、他のすべての値を上書きします。

🚧

可変サイズの制限

テストで共有されるテスト生成変数の結合サイズは、1MBを超えてはなりません。

作成した複数のテストを実行し、テスト間で変数を共有するには、それらのテストを同じプランに追加することも必要です。

プランのステージ

あるテスト実行から別のテスト実行に変数を渡すには、待ち受け側のテストが始まる前に、渡す側のテスト実行の成功を確認する必要があります。

そのための1つの方法は、すべてのテストを直列のステージに配置して、指定された順序でテストを実行することです。もう1つのプラン設定の方法は、変数を共有するすべてのテストを1つのステージに配置し、変数を待ち受けるテストを次のステージに配置することです。

📘

重要な考慮事項

プラン内のテスト間で変数を共有する場合、変数の共有が最も適切に機能するのは、プランを単一環境、単一ブラウザーで実行し、かつ、Run Multiplierを使用しない場合です。このようにすると、変数を共有するテストの実行回数がプラン内で1回に限定されるためです。


Did this page help you?