要素を正しく見つける

テスト実行時に要素を正しく見つけることは、自動テストにおいて大変重要なことです。ページ上には動的コンテンツや類似の要素がいくつも存在することがあるため、テストで特定のアクションの背後にある「目的」を考慮してテストを作成(トレーニング)することが一層重要になります。

mablでは、アプリケーションで記録した操作や、要素ごとに収集される各種属性に基づいて対象要素を正しく見つけるために、幅広い戦略を用いています。テスト実行時に要素を正しく見つけるうえでは、タイミング、意図、コンテキストの3つの側面が重要です。

要素を正しく見つけるため、mablでは、アプリケーションが正しい状態になっているかどうか、その要素が選択された理由、および要素に関連するコンテキストが重要なものかどうかを把握する必要があります。

mablでの検索ステップの仕組み

mablでは、テストの作成時に要素を見つけるためのさまざまな設定が利用できます。これらの戦略の違いと、それぞれをどのような場合に使用すべきかを理解することで、より柔軟なテストを作成することができます。

  • 標準的な検索ステップ: mablで要素を操作するステップを記録すると、要素の属性に関する情報が収集されます。テストの実行時には、各候補に一致する属性の組み合わせと、その要素および類似要素の検索履歴に基づいて、最も一致する要素が選択されます。
  • 設定された検索ステップ: ステップで検索を設定する場合に、重要度の高い属性を指定することができます。これにより、そのステップの背後にある意図に基づいて検索ストラテジーを調整することができます。
  • 類似要素の設定された検索: ページ上に類似要素が数多く存在する場合、特定の要素を選択した理由についての詳細なコンテキストの追加を求められることがあります。この情報は設定された検索ステップと同じように使用されます。
  • waitステップとwait untilステップ: アプリケーションが正しい状態になるのに時間がかかる場合は、waitまたはwait untilステップを使用できます。waitステップでは、一定時間待機してから先に進みます。wait untilステップでは、ユーザーが特定の要素属性を選択し、ページ上でその属性が利用可能になるまで待機してから先に進むことができます。
  • XPathおよびCSSセレクター: 変更されそうにない特定の要素をターゲットにする場合や、検索ステップをさらに細かく制御する必要がある場合は、XPathまたはCSSセレクターを使用してカスタム検索を作成できます。ただし、カスタム検索では自動修復機能が使えないことに注意する必要があります。

対象を絞った検索ステップを作成するメリット

[検索の設定] での対象を絞った検索ステップの作成には、次のようなメリットがあります。

  • 柔軟性: 時間とともにアプリケーションが変化していったときに、一部の属性が変更された場合でも、mablで要素を正しく見つけられる可能性が高くなります。
  • 自動修復: 重要度の高い属性を指定することによって、正確に自動修復を行うことができます。
  • 汎用性: データ駆動型変数を使用して検索ステップを設定することで、さまざまな値に対して検索ステップの背後にある意図を変更することができます。