ブラウザテストが失敗した場合、出発点は対話型 結果分析です。mablエージェントは、スクリーンショット、ログ、DOMスナップショット、実行時リカバリデータ、および数日前までさかのぼった同じテストの実行履歴に直接アクセスできます。さらに詳しく調べる必要がある場合は、テスト出力ページでログを手動で確認できます。
この記事の内容:
結果分析で調査する
失敗したテスト実行を開き、結果サマリータブを確認してください。タブが読み込まれると、エージェントが失敗の概要分析をすぐに投稿します。そのサマリーを参考に状況を把握したうえで、チャットでフォローアップの質問を行い、原因を絞り込んでください。
以下のプロンプト例は、最も一般的な調査パスをカバーしています。
実行間で比較する
- 「失敗したステップのスクリーンショットを、最後に成功した実行と比較してください。何が違いますか?」
- 「今回の実行と最後に成功した実行の間で、対象要素の属性は変化しましたか?」
- 「失敗したステップに、ネットワークエラー、予期しないポップアップ、または読み込まれなかった要素が表示されていますか?」
- 「このテストの成功した実行と失敗した実行で、環境、ブラウザ、または時間帯に一貫した違いがありますか?」
- 「この失敗は、このテストの直近5回の実行で新たに発生したものか、それとも繰り返し発生しているものか?」
上流の調査
mablが失敗するステップは、必ずしも課題の原因となったステップとは限りません。それより前のステップが期待される動作からずれ、後続の失敗として表面化することがあります。たとえば、新たに追加された要素に一致する「最初を検索」ステップ、誤ったターゲットを特定する自動修復、意図したアクションを実際には完了していない「警告付きで成功」ステップなどが該当します。
- 「それより前のステップで、警告付きで成功したものや自動修復が行われたものはあったか?意図したアクションは完了していたか?」
- 「失敗に至るまでのステップを順に確認し、この実行が最後に成功した実行からどこで乖離し始めたかを教えてほしい。」
検索の失敗を調査する
- 「失敗したステップで、ターゲット要素のID、CSSクラス、またはDOMの位置は変更されていたか?」
- 「失敗したステップのDOMスナップショットにターゲット要素は含まれているか?含まれていない場合、代わりに何があるか?」
- 「テストの前の段階で、mablが誤った要素を操作していなかったか?」
- 「自動修復がこの要素を選んだのはなぜか?」または「ページ上でターゲットに一致した他の要素はあったか?」
プランの実行を確認する
テストは、プラン実行の他の箇所で設定された条件(データを正しくシードしなかったプレビューテストや、設定が誤っているデータテーブルなど)が原因で失敗することがあります。失敗したプランの実行の結果分析ページに切り替えて調査してください。
- 「このプランのプレビューテストが失敗したか、またはデータが予期しない状態のままになっていないか?」
- 「このプランの他のテストが同じステップで失敗しているか?テスト失敗の理由は共通しているか?」
調査を進めると、エージェントが裏付けとなる情報をまとめて完全な分析を作成します。チームと調査結果を共有する必要がある場合は、チャットウィンドウからPDFレポートとして完全な分析をエクスポートできます。
結果分析は、ローカル実行、Playwrightの実行、パフォーマンステスト、デフォルトの「Visit Home Page」プラン、またはリンククローラープランでは利用できません。これらのケースについては、特定のアーティファクトを詳しく調べるセクションをご覧ください。
特定のアーティファクトを詳しく調べる
エージェントが特定の質問に答えられない場合や、実行に対して結果分析が利用できない場合は、ステップの詳細タブからテストのアーティファクトを直接確認できます。
ログとDOMスナップショットを手動で確認する
ログタブをクリックすると、各ステップのmabl アクティビティ、ネットワーク、DOM、コンソールのログを確認できます。各ログタイプの詳細については、ブラウザテストの出力をご覧ください。
検索ステップの失敗については、DOMスナップショットとmabl アクティビティログが最も役立ちます。
- mabl アクティビティログには、ターゲット要素の属性と、mablがその要素をどのように検索したかが記録されています。
- 要素の履歴:ネイティブに記録されたステップの場合、要素の履歴をクリックすると、実行をまたいだターゲット要素の追跡プロパティを確認できます。要素の詳細または履歴が誤った要素を対象としている場合は、ステップを再トレーニングしてください。
- DOM:ステップの実行時にターゲット要素がDOMに存在していたことを確認してください。
[mabl Activity] ログの確認
Chrome DevToolsの使用
Chrome DevToolsでDOMスナップショットを確認するには:
- [アクション] ⇒ [Download DOM snapshot] をクリックします。
- Chromeブラウザウィンドウでスナップショットを開く
- 右クリックして「検証」を選択する
- 要素タブをクリックすると、ページのHTMLを表示して検索できます。
mablトレーナーでの再生
Basic認証のようなブラウザのポップアップが発生した場合や、ログに記録されていないブラウザの状態に課題が依存していると思われる場合など、実行をリアルタイムで確認する必要がある失敗もあります。そのような場合は、mablトレーナーでテストをリプレイしてください。
- テスト出力ページで、テストを編集をクリックします。
- トレーナーを起動して失敗したステップまでリプレイを選択します。
失敗したステップまでmablトレーナーで再生
Trainerと並べてChrome DevToolsを開き、リプレイ中のコンソールエラーやネットワークアクティビティを確認できます。
トレーナーでは、ステップのその他のアクションメニューから次の2つの便利なオプションを利用できます。
- ステップ情報を表示では、タグ、innerText、XPathなどの要素の詳細が表示されます。
- ここまで再生では、特定のステップをリプレイします。テストがそれより前の段階でずれ始めた場合は、ずれが発生したステップを見つけて、そのステップのトラブルシューティングを行ってください。
Show step info (ステップの情報を表示)
要素が別の要素に隠れている場合は、ビューポートの幅を調整してみてください。ステップでまだ検索の設定を使用していない場合は追加してください。すでに使用している場合は、検索の設定の属性がターゲット要素と一致していることを確認してください。
タイミングとパフォーマンスを調査する
レイテンシはアプリケーションやテスト環境によって異なります。特定のテストやステップが断続的に失敗する場合、レイテンシのスパイクが原因である可能性があります。
- スピードインデックスでアプリの読み込み時間の増加を確認してください。
- ステップトレースをダウンロードして、mablが記録したステップのタイムラインを確認してください。
- 失敗したステップの前に待機ステップを追加してください。
テストの実行に予想以上の時間がかかる場合は、テストパフォーマンスの最適化に関するガイドをご覧ください。
並列実行時にテストが失敗する場合、テスト環境がmablの同時実行に対応できていない可能性があります。テストをアドホックでトリガーするか、プランを変更してテストを順次実行することができます。
mablチームへの連絡
上記をすべて試しても失敗の原因を特定できない場合は、アプリ内またはメールでmablサポートチームまでお気軽にお問い合わせください。いつでも喜んでサポートいたします。