テストの実行中に正しい要素を見つけるのは、しばしば難しい課題です。動的コンテンツが存在し、同じような要素が多数あるウェブページでは、特定の操作の意図をテストにきちんと反映することが、よりいっそう重要になります。この記事では、ブラウザーテストで正しい要素を狙って特定するための戦略を紹介します。
モバイルテストでの要素の検出
この記事では、Webアプリで要素を見つける方法の概要を説明します。モバイルアプリで正しい要素をターゲットにする方法については、モバイルテストで信頼性の高い検索ステップを作成するに関する記事をご覧ください。
mablでの検索ステップの作成
検索ステップは、クリックや要素に対するアサーションなど、要素とやり取りするあらゆるステップを指します。正確に対象の要素を特定するため、mabl はあなたのウェブアプリケーションが正しい状態にあるか、その要素が選択された理由、そして要素の周囲のコンテキストが重要かどうかを把握する必要があります。
mabl では、テスト作成時に要素を見つけるためのさまざまなオプションを提供しています。mabl が正しい要素とやり取りできるようにする際は、次の順序でステップを作成してください。
記録されたステップ
要素と対話するステップをmablで記録すると、mablトレーナーはその要素の属性に関する情報を収集します。テストの実行時には、mablが各候補に対してどの属性の組み合わせが一致するか、さらにその要素や類似する要素の検出履歴に基づいて、最適な一致を選択します。
エレメントがページのHTMLの一部ではない場合、mablトレーナーではそのエレメントを操作できません。たとえば、mablトレーナーでは、Chrome DevToolsや印刷ダイアログなど、ローカルブラウザーまたはマシンの設定を操作することはできません。
設定された検索ステップ
記録した検索ステップが正しい要素を対象にしていない場合は、検索の設定を使って、どの属性が最も重要かをmablに伝えられます。検索の設定は、ステップの意図に基づいて、mablが検索戦略を調整するのに役立ちます。対象の要素の表示に時間がかかる場合は、mablが要素を探す時間として最長15分までのタイムアウトを設定できます。
ビジュアル検索ステップ
地図、キャンバス、画像などの視覚的な要素を対象とするクリックステップでは、ページのHTMLにあるテキストベースの属性に依存せず、特定の視覚領域をターゲットにしたクリックステップを作成できます。
ビジュアル検索のステップは、視覚領域のAI生成の記述を使ってクリック操作を実行します。既定では、ビジュアル検索の記述は英語で生成されます。ワークスペースの所有者は、ワークスペースページで、別の言語で生成するように設定できます。ページの場所: ワークスペース > ワークスペース。
詳しくは、タップとクリックのビジュアルトレーニングの記事をご覧ください。
記録されたステップ、検索の設定、ビジュアル検索を使うと、より堅牢なテストを作成できます。アプリケーションが時間とともに変化しても、属性の一部が変わった場合でも、mabl は正しい要素を見つけ続ける可能性が高くなります。
カスタム検索ステップ
記録したステップ、検索の設定、またはビジュアル検索を使って正しい要素を特定できない場合は、CSS または XPath を使用して要素の検索ステップを作成できます。要素の検索ステップには、自動修復 機能はありません。
DevToolsからセレクターをコピーしないでください。DevToolsで生成されたセレクターは特殊であるため、アプリケーションに軽微な変更が加えられると簡単に失敗します。
JavaScript
他のすべての検索方法で正しい要素とやり取りできない場合は、トラブルシューティングの手段として、JavaScript を使ってその要素とやり取りしてみてください。
エレメントの見つけやすさの改善
mabl の検出戦略は、テスト対象のアプリケーションについて得られる情報に基づいて適応します。属性が一貫していて一意であるほど、要素の検出性向上に役立ちます。mabl のオプションを使って成功する検出ステップを作成できない場合は、要素の検出性を改善するために、次のいずれかの変更についてチームの開発者に相談してください。
役立つ属性を追加する
ARIAラベル、データテストID、またはテストIDなど、一貫性があり識別しやすい属性をターゲットエレメントに追加します。
先祖エレメントに属性を追加する
ターゲットエレメントが動的に生成された値を使用していて、ターゲットにすることが難しい場合は、先祖エレメントに属性を追加します。
セマンティックHTMLタグを使用する
アプリケーションが多数の入れ子になった div で構成され、他の有用な属性が不足している場合、mabl が正しい要素を特定するのは難しくなります。h1 や p などのセマンティックな HTML タグを使うと、Web ページ上での目的や役割に基づいて要素を狙いやすくなります。