mablがブラウザテストで while ループに対応しました。これまでループには回数の指定が必要で、固定の数値、変数、配列の長さ、ページ上で一致する要素の数のいずれかを指定していました。「Load more」が表示されなくなるまでクリックし続ける、キューを空にするなど、条件に基づいて一連のステップを繰り返したい場合は、ループを早期に終了させるための回避策を用意する必要がありました。今後は、条件が満たされるまでループを繰り返したいあらゆるテストシナリオで、ネイティブの while ループを追加できます。
while ループでは、条件が満たされている間フローを繰り返し、その後テストは次に進みます。条件には、mablトレーナーで普段お使いのものと同じアサーションエディターを使用するため、次のような確認ができます。
- ページ上のUIの変化: 「Next」ボタンが表示されなくなるまでテーブルのページを送るなど、動的なページの状態に基づいてアクションを繰り返します。
- 動的なデータの変化: 各繰り返しで動的な変数のデータを評価し、目的の条件が満たされるまで続けます。ページの要素、JavaScript、APIやデータベースクエリーのレスポンスから生成した変数を使用できます。
while ループはブラウザテストでのみサポートされています。
お試しください
mablデスクトップアプリの最新バージョンに更新し、次の手順を実行します。
- mablトレーナーで、既存のループを編集するか、新しい while ループを作成します: + (Add step) > Loops > While loop。
-
Condition タブで、何を監視するかを選択します。
- Element selector - 評価したい要素に一致するロケーターを入力します。
- Variable - テスト内の既存の変数を選択します
- 要素または変数がどのような条件を満たす間ループを続けるかを定義します。たとえば、「Next」ボタンが表示されている間ループする、または変数
apiCursorの値がnullではない間ループする、といった指定ができます。 - 必要に応じて、Looping タブで Iteration limit(繰り返しの上限)を設定できます。条件がまだ満たされている状態でループが上限に達した場合、ループは求められた処理を完了できなかったことになるため、そのステップは失敗します。
- OK をクリックします。
- mablトレーナーのカーソルを Start flow ステップと End flow ステップの間に置いた状態で、ループで繰り返したいステップを記録します。
上限を設定するかどうかにかかわらず、ループは500回までに制限されます。