対象
このレッスンの受講者は、以下の予備知識を身につけている必要があります。
- 「mablアプリケーションの概要」レッスンを受講し、mablアプリケーションの基本について理解している。
レッスン内容
学習目標
このレッスンを修了すると、以下の知識や技能が身につきます。
- ループを活用する方法やタイミング
- テストにおけるループのメリットと、テストのメンテナンスに有効である理由
これが重要である理由
ループステップは、アプリケーション内の変化に適応し、動的な反復 (ループ回数) によって反復タスクを自動化し、テストのメンテナンス時間を短縮できるため、テストを自動化する上で重要な役割を果たします。また、これらすべてをコードを1行も記述せずに実現できます。
定義
ループ
- ループは、反復タスクを自動化し、静的または動的な反復を設定するためのコードレス機能です。
- ループの使用が必要となる理由
- 日付選択カレンダーで数か月先までスキップ
- ドロップダウンを繰り返して、期待どおりのものがすべてが表示されていることをアサート
- ラジオボタンのオプションをループして送信し、各オプションの送信が成功したことをアサート
- 特定の項目が見つかるまで検索結果を閲覧
作業の開始
ループの使用方法
- Trainerの下部にある紫色の [+] 記号をクリックし、[Recommended] セクションの [Add flow] をクリックするか、[Loops] が表示されるまで下にスクロールします。
- Trainerの上部に [Create Flow] と表示されていますが、問題ありません。これが正しい画面です。
- フローの名前を入力します (ベストプラクティスの命名規則を使用)。
- Trainer上部の [Create Flow] バナーの下にある [Looping] を選択します。
- 以下の3つのオプションが表示されます。
- Run once:
- ループを1回だけ実行します。つまり、基本フローを作成するのと同じです。
- Loop using a fixed number:
- ループする必要がある項目やアクションの数が変わらない場合は、このオプションを使用して静的な数を入力すると、ループの実行のたびにその数だけ反復されます。
- Loop using a variable:
- ループする項目の数がテストの実行のたびに変わる可能性がある場合は、変数を選択してループ回数を指定します。このオプションを使用すると、DataTableやAPIステップを介して、または要素から値を抽出して変数として格納することで、数値を指定できます。
- 例: アプリケーションの検索機能で、さまざまな結果 (カートの項目やリストの項目など) が表示される可能性がある場合、ページ数を抽出して、その値を変数とし格納し、それを「ループ回数」として使用することができます。
- アドバイス: 変数を使用して実行する場合は、条件付きステップを追加し、IF条件ステートメントで異なる数値を指定することで、ループから早期に抜け出すことができます。
- mablでループさせるアクションを記録します。
- 該当する場合はアサーションを追加します。
- CSSやXPath要素の「n番目」のインスタンスを対象にする場合、run.loop_indexを使用すると、要素を順番にループさせるのに役立ちます。
- 最終ループ回数に到達する前に特定の条件が満たされる場合に備えて、条件付きステップを含めることができます。
仕上げ
まとめ
復習 - ここで学習した内容
- ループを使用する方法やタイミング、テストのメンテナンス時間を短縮する方法
つながり - 既知の内容や業務との関連性
- ループは、アプリケーションの更新や変更の際に更新や変更が必要だったタスクをmablで自動化するためのもう1つの方法です。
応用 - 今後の使用方法
- ループ化によるメリットがある反復タスクについて考えてみましょう。
- カレンダーで将来の日付までスキップする
- テスト実行中に作成されたデータをクリーンアップする
- 目的の項目が見つかるまで、検索結果の動的リストをループする