異なるブラウザタブと対話するテストを作成していますか?異なるタブでテストする際に期待される動作と、問題が発生した場合のトラブルシューティング方法について、以下をお読みください。
新しいタブでのテスト
異なるタブを操作するテストをトレーニングするには、トレーナーの記録ボタンがオンになっていることを確認してください。新しいタブでページを開くリンクをクリックすると、mablトレーナーは自動的に「Wait for tab」ステップを記録します。新しいタブでテストを開始するには、アサーションを作成するか、要素をクリックしてください。トレーナーは新しいタブに切り替えたことを自動的に検出し、記録されたステップの前に「Switch Context」ステップを追加します。
動的なタイトルまたはURLを持つタブ
アプリケーションが動的に生成されたタイトルやURLで新しいタブを開く場合は、検索の設定で「Wait for tab」ステップの設定を調整して、新しいタブの動的に生成されたタイトルやURLに一致するようにしてください。
最初のタブに戻る
最初のタブで再度ステップを記録すると、Trainerは記録されたステップの前に、最初のタブにコンテキストを切り替えるための別のステップを追加します。
トラブルシューティング
テストが「新しいページ/タブが検出されませんでした」などのタブが見つからなかったことを示すメッセージで失敗した場合は、以下のガイドラインを使用してトラブルシューティングを行ってください:
動的なページ属性を確認する
新しいタブに動的なタイトルまたはURLがある場合は、検索の設定の値を調整する必要があるかもしれません。
「検索の設定」は「Wait for tab」ステップで利用可能で、「Switch context to tab」ステップでは利用できません。
動的なページ属性の作成方法に応じて、検索の設定で次のいずれかのアプローチを取ることができます:
- タブを開く前に動的な値がわからない場合は、含むを使用して検索の設定値を追加してください。例:「タイトルに『顧客請求書番号』が含まれる」
- タブを開く前に動的な値がわかっている場合は、変数に保存して、動的に生成された変数値に一致するように検索の設定を調整できます。例:「Its url is 'https://example.com/users/{{@user_id}}'」。
前のステップを調査する
新しいタブを開くクリックステップが、target="_blank" 属性を持つリンクをクリックしているか、またはwindow.open()を使用して新しいタブを開くボタンをクリックしていることを確認してください。
制限事項
mabl は、新しいタブを開く以下の方法をサポートしていません:
- CTRL + Tまたは⌘ + Tのキー入力ステップ
- CTRL + クリックまたは⌘ + クリック
これらのサポートされていない方法では、Trainerは「Wait for tab」と「Switch context」ステップを記録しますが、新しいタブを開くキープレスアクションはキャプチャしません。
期待されるステップを確認する
mablテストが新しいタブを開く際、「Wait for tab」と「Switch context to tab」の2つのステップが記録されます。これらのステップの一方または両方が欠けている場合は、ステップを再記録してください。
新しいタブの読み込みが遅い場合、「Wait for tab」ステップがタブを検出する前にタイムアウトする可能性があります。待機ステップを「Wait for tab」ステップの前に追加して、ページの読み込み時間を増やしてみてください。
JavaScriptスニペットを使用する
ステップを再記録しても課題が解決しない場合は、JavaScriptスニペットを使用して新しいタブを開くことを検討してください。例については、mablのJavaScriptスニペットリポジトリを参照してください。