この投稿では、新しい改善点やその使用方法のベスト プラクティスを含め、Selenium 4 のさまざまな種類の待機について説明します。
Selenium 4 の待機の種類
Selenium 4 では、主に 3 種類の待機が提供されます:
それぞれについて詳しく見ていきましょう!
この例では、Selenium は要素が表示されるまで最大 10 秒待機してから、NoSuchElementException をスローします。待機はセッション全体を通じてすべての要素の検索に適用されます。
長所:
実装が簡単
シンプルなプロジェクトに適しています。
短所:
必要でない場合でも待機がグローバルに適用されるため、テストの実行が遅くなる可能性があります。
他の待機タイプと一緒に使用すると、予測できないテスト動作が発生する可能性があります。
コード例:
この例では、WebDriver は要素が表示されるまで最大 15 秒待機します。要素が 15 秒前に表示される場合、待機は早期に終了します。
一般的な明示的な待機条件:
visibilityOfElementLocated()
elementToBeClickable()
presentOfElementLocated()
アラートIsPresent()
長所:
高度にカスタマイズ可能で、暗黙的な待機よりも効率的です。
特定の条件が必要な場合にのみ待機します。
短所:
より多くのコードが必要となり、複雑さが増す可能性があります。
大規模なプロジェクトでは、複数の明示的な待機の管理が困難になる可能性があります。
ここでは、WebDriver は 500 ミリ秒ごとに要素をチェックし、タイムアウトになるまで最大 20 秒待機します。この間、NoSuchElementException も無視されます。
長所:
待機の処理方法をより柔軟に制御できるようになります。
ポーリング間隔と例外処理をカスタマイズできます。
短所:
設定と理解がより複雑になる可能性があります。
過度にカスタマイズすると、コードが混乱し、保守が困難になる可能性があります。
Selenium 4 待機の改善
Selenium 4 では、特に待機の管理方法にいくつかの改善が加えられています:
構文の改善: Selenium 4 では、以前の TimeUnit の代わりにDuration が使用され、より直感的で読みやすくなりました。 相対ロケーター: 他の要素との関係で要素を待機できるようになりました (例: の左側、近くなど)。
WebDriverWait の強化: Selenium 4 の WebDriverWait クラスは、より合理化され、最新の構文で使いやすくなりました。
Selenium 4 で待機を使用するためのベスト プラクティス暗黙的な待機の代わりに明示的な待機を使用する: 制御とパフォーマンスを向上させるには、特に複雑なシナリオでは、明示的な待機を優先します。
暗黙的待機と明示的待機の混合を避ける: 両方を使用すると、予期しない動作が発生し、待機時間が増加する可能性があります。
Selenium 4 で待機を効果的に処理することは、安定した信頼性の高い自動テストを作成するために重要です。暗黙的、明示的、および流暢な待機をいつどのように使用するかを理解すると、テスト スイートの堅牢性を大幅に向上させることができます。 Selenium 4 の改良により、同期の問題を管理するためのさらに強力なツールが利用できるようになりました。
以上がSelenium 4 の待機について理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。