Selenium2Library を使用したロボット フレームワーク テストは、ブラウザ ページがサーバーの応答を完全にロードするのを待ってスタックすることがあり、その結果、テストが無期限に停止することがあります。私が経験しているこれらのケースのほとんどで、ブラウザーはコンテンツの 99% を読み込んでおり、問題なく操作できます。ただし、ブラウザのロードが完全に停止するまで自動化は進みません。
自動化テストの実行を監視し、このブラウザー ハングの問題に遭遇したときに、ブラウザーの「停止」ボタンを手動で押すと、ブラウザーの読み込みが停止し、自動化テストが通常どおり再開されます。ブラウザがハングしたときにこのブラウザの停止を自動化したいと考えていますが、ブラウザが期待どおりにロードされたときにテストを遅くしたくありません。
Robot Framework内での使用方法を理解できれば、PythonでSelenium Webdriverコマンドが呼び出さset_page_load_timeout()
れているように見えます。
私が検討している別のオプションは、javascript を実行してブラウザのロードを強制的に停止することです。次のようにします。
***Keywords***
Stop browser load
Execute Javascript return window.stop();
ただし、上記のようなコマンドでは、それをどのように実装し、ブラウザーの読み込みに時間がかかりすぎているかを認識する方法が問題になります。新しいページが読み込まれたり、リンクがクリックされたりするたびに不必要なタイムアウトを設定したくありません。テストの実行全体が遅くなるからです。
Robot Framework の Selenium2Library には、サーバー応答の実際のページ読み込み時間を設定できるこのようなものが既に組み込まれているので、ブラウザーがまだ読み込み状態にあることをテストで認識できますか? 私はSelenium2Library のドキュメントを確認してきましたが、これに直接関連するものは見つかりませんでした。
どんな助けでも大歓迎です、ありがとう。