この記事では、mablトレーナーで条件付きステップを操作するさまざまな方法について説明します。
条件付きステップを追加する方法
mablトレーナーで、次の手順を実行して条件付きステップを追加します。
- [+ (ステップを追加)] [条件付き] をクリックします。
- 特定の条件付きステップタイプ (IF、ELSE IF、ELSE) を選択します。
- IFステップまたはELSE IFステップを作成する場合は、条件のベースとして、ページエレメント、CSSまたはXPathを使用したカスタム検索、JavaScriptスニペット、ページURL、Cookie、または変数値を選択します。
- 条件がtrueに評価された場合に実行するステップを記録します。
IFステップのオプション
IFステップを追加すると、デフォルトでELSEステップとENDステップが追加されます。
- ELSEステップは不要な場合、削除できます。
- ENDステップは必須です。これを削除すると、条件付きステップに、ENDステップがないステートメントであることを示す警告アイコンが付きます。
Trainerで条件付きステップを再生する方法
mablトレーナーで条件付きステップが期待どおりに動作することを確認するには、条件付きステップをすべて一緒に再生する必要があります。
[進む]ボタンで条件付きステップを一度に1つずつ再生しないでください。[進む]ボタンは、テスト対象のアプリケーションの条件がtrueであるかどうかに関わらず、条件ブロックのすべてのステップを再生します。
代わりに、以下の手順を実行して、条件付きステップを再生してください。
- 条件を実行するために、アプリケーションを適切な状態にします。
- TrainerのカーソルをIFステップの直前に移動します。
- ENDステップで、[その他のアクション (...)] [ここまで実行] をクリックします。
条件付きステップを再生すると、Trainerは条件がtrueかどうかを評価します。
- 条件がtrueの場合、テストステップが再生されます。
- 条件がfalseの場合、テストステップはスキップされます。
IF… AND…ロジックを実装する方法
XとYの両方が真の場合にステップを条件付きで実行したいときは、JavaScriptを使うか、入れ子の条件分岐を作成できます。
JavaScript を使用して
チームがJavaScriptの記述と管理に慣れている場合は、IFステップを作成し、JavaScriptに基づいてIF条件を設定してください。XとYが真であるかどうかを評価するスニペットを作成しましょう。
ネストされた条件分岐を使って
また、入れ子の条件文を使って、IF... AND... のロジックを実装することもできます。
- 1番目のシナリオを評価するIFステップを作成します。
- IFステップ内に、2番目のシナリオを評価するIFステップを追加します。
- 2番目のIFステップ内に、両方のシナリオがtrueの場合に実行するステップを記録します。
たとえば、次のスクリーンショットでは、検索結果が正しいカテゴリ "Creating tests" と "Performance tests" に一致した場合に、その検索結果をクリックします。
ネストされたIFステートメントを使用してIF… AND…ロジックを実装
IF… OR…ロジックを実装する方法
XまたはYが真の場合にステップを条件付きで実行したいときは、JavaScriptを使うか、条件ブロックを組み合わせて実現できます。
JavaScript を使用して
チームがJavaScriptの記述と管理に慣れている場合は、IFステップを作成し、JavaScriptに基づいてIF条件を設定してください。XまたはYが真かどうかを評価するスニペットを書きましょう。
条件文を組み合わせることで
条件分岐を組み合わせることで、IF... OR... ロジックも実装できます。
-
either_situation
という変数を作成し、値 "false" を代入します。 - 1番目のシナリオを評価するIFステップを作成します。
- 2番目のシナリオを評価するELSE IFステップを追加します。
- IFブロック内とELSE IFブロック内の両方で、
either_situation
という変数を作成し、値 "true" を代入します。このアクションにより、either_situation
の値がtrue
に更新されます。 - ENDステップの後に、変数
either_situation
が "true" に等しいかどうかをチェックする新しいIFステップを追加します。 - IFステップ内に、どちらかのシナリオがtrueの場合に実行するステップを記録します。
次のスクリーンショットは、IF… OR…ロジックの例として、アップロードされたファイルがrecords.csvまたはroster.csvのどちらかの場合に [SUBMIT] ボタンをクリックするテストを示しています。
変数と条件を使用したIF… OR…ロジックを実装
条件ステートメントがtrueの場合にループを終了させる方法
特定の条件が満たされたときにループを終了させる事実上のwhileループを作成できます。詳細については、ループの使用方法 ループを早期に終了させる方法を参照してください。