2

IEでのテスト実行中に発生する可能性のあるすべてのJSエラーをキャッチしてログに記録することは可能ですか?

4

2 に答える 2

4

通常、このような質問をするときにキャッチしたいJavaScriptエラーには2つのクラスがあります。1つ目は、自動化されているWebサイトのソースコードでJavaScriptエラーをキャッチしたいことです。2番目のタイプのエラーは、WebDriverコードによって実行されたJavaScriptコードでJavaScriptエラーをキャッチしようとすることです。残念ながら、SeleniumWebDriverを介してIEのすべてのJavaScriptエラーをキャッチする良い方法はありません。これはライブラリの一般的な機能リクエストであり、プロジェクトの課題追跡システムが拡張されています。JavaScriptエラーをキャッチするために最善を尽くすために使用できるいくつかのテクニックがありますが、それらにはすべて制限があります。

JavaScriptエラーの最初のクラスでは、ページにwindow.onErrorイベントをフックするスクリプトを挿入してみてください。ここでの制限は、onErrorフックがアクティブ化される前に実行されるスクリプトで発生するJavaScriptエラーを見逃すことです。onLoad多くの場合、これは、イベント中に実行されるスクリプトで発生する多くのエラーを見逃します。

2番目のクラスのエラー(IEドライバーがJavaScriptを実行する方法)の場合、IEのスクリプト実行エンジンでは実行中のエラーをキャッチできません。スクリプトの実行時にエラーが発生した場合、ドライバーはスクリプトエンジンから「UIにエラーを表示済みなので、これ以上の情報は提供しません」というHRESULTを受け取ります。この場合、ドライバーのログレベルを上げると、JavaScriptエラーが発生したことが通知されるだけで、JavaScriptエラーに関するその他の情報は通知されません。このクラスのエラーについて、開発チームは可能な解決策を積極的に調査していますが、ここに明確な道はなく、この動作の変更の時間枠もありません。

于 2012-07-09T20:40:33.947 に答える
1

ログスイッチが使えると思います

--log-file=<logFile>

ドキュメントで説明されているように:http ://code.google.com/p/selenium/wiki/InternetExplorerDriver

于 2012-07-09T20:05:27.173 に答える