この記事では、フロー (パラメーター化されたフローやループを含む) を使って再利用可能な一連のテストステップを作成するためのオプションについて説明します。
一部のブラウザーおよびモバイルテストシナリオでは、アプリケーションへのログイン、ショッピングカートへのアイテムの追加、特定のページや画面への移動など、アプリケーションを特定の状態にするために同じ一連のステップを記録する必要があります。異なる複数のテストで同じテストステップを維持管理する時間と手間を省くには、フローを使用します。
フローはテストステップの共通のシーケンスで、ブラウザーテストやモバイルテストに挿入して使用し、変更があったときは一括編集することができます。
ログインフローの例
フロー
ブラウザーテストやモバイルテストを新しいフローで保存すると、お使いのワークスペースにフローが保存されます ([テスト] > [フロー])。フローは他のテストにインポートできます。また、1つのテストに同じフローを複数回挿入することもできます。
mablでは、ブラウザーテストとモバイルテストで再利用可能なフローが利用できます。ブラウザーテストでフローを保存した場合、保存したフローは他のブラウザーテストで再利用できます。モバイルテストでフローを保存した場合、保存したフローは同じプラットフォーム (AndroidまたはiOS) 上の他のモバイルテストで再利用できます。
mablのAPIテストでは、再利用可能なフローはサポートされません。
フローページ
フローに変更を保存すると、そのフローを含むすべてのテストに変更内容が自動的に反映されます。フローの異なる複数のバージョンを管理する場合は、ブランチを使用します。
パラメーター化されたフロー
1つのフローに対して変数のスコープを設定する場合や、異なる複数の変数を使ってフローを再利用する場合は、フローパラメーターを追加します。フローパラメーターはフロー内にのみ存在する変数です。フローパラメーターの値には、静的文字列、数字、または別の変数 (DataTableの変数など) を使用できます。
別の変数を参照する場合は、mabl変数構文を使用します。たとえば、変数testVar
は{{@testVar}}
になります。
パラメーターを使用しない場合、フローは毎回同じ操作を繰り返すことになります。パラメーターを使用する場合は、フロー内で使用されるデータを制御できます。一般的なプログラミング言語にたとえると、フローは関数のようなもので、パラメーターはフローのインスタンスごとの入力のようなものです。
たとえば、電話番号に基づいて人物を検索するフローを作成する場合は、以前テスト内で作成した電話番号を検索するパラメーターを追加することができます。
パラメーター化されたフローの例
デフォルト値とオーバーライド
フローパラメーターを作成する場合は、デフォルト値を追加する必要があります。オーバーライドを指定しない場合、mablではデフォルトのフローパラメーターが使用されます。
デフォルトのパラメーター値をオーバーライドした場合、オーバーライドした値はフローの該当するインスタンスにのみ適用されます。
ループ
ループは固定された数値や変数を使って繰り返し処理を行うフローです。ループは、アプリケーションの実際のデータに基づいて繰り返し処理を行うステップのシーケンスを設定する場合に便利です。以下に例を挙げます。
- 複数のページに定数エレメントが表示されることをアサートする
- ドロップダウンのすべてのエレメントが表示されることをアサートする
- 正しい項目が表示されるまで検索結果のリストを参照する
ループにはコードが必要ないため、アプリケーションをより広範にカバーする複雑なユーザー手順のテストを容易に行うことができます。
動的なループ
ループの実行回数を動的に決めるには、変数を使ってループするようにフローを設定します。たとえば、検索結果のすべてのページに定数エレメントが含まれていることを確認する必要があり、総ページ数が実行ごとに異なる場合は、次の手順を実行できます。
- 総ページ数を格納する変数を作成します。
- フローを作成し、ページ変数を使ってループするようにフローを設定します。
- フロー内で、定数エレメントをアサートし、「次ページ」ボタンをクリックします。
Trainerでのループの再生
mablトレーナーでループを再生する場合、ループを途中で停止したとしても、mablは現在のインデックスからループ再生を再開しようとします。ループドロップダウンを使用して、再生を開始するループの反復を選択することもできます。
Trainerでのループの再生
詳細情報
フロー、パラメーター、ループの詳細については、次の記事を参照してください。