2016-07-30 14 views
0

IE11で実行すると、スクリプトのパフォーマンスが非常に低下します。私のスクリプトのいくつかは2〜3分でクロムで実行され、それはIEで25分以上かかります。私はRobot Frameworkを使用しており、私のロケータのほとんどはxpathです。私のアプリケーションには要素のIDロケータがありません。私は実験的な目的のCSSに切り替えることを試みたが少しのマージンによって性能を改善した。 私は、IEにネイティブxpathエンジンがないので、IEdriverserverは構文解析にwicked-good-xpathを使用することを理解しています。このxpathライブラリは最も速くなるはずです。 スクリプトのパフォーマンスを向上させるために他にも改良や強化がありますか?ロボットフレームワークでのIE 11のパフォーマンス

+0

DOMを要素のリストにトラバースしているとき、パフォーマンスがひどいです。 span、divなどのリストからテキストを取得するなど – user3262242

答えて

1

あなたは64-bit IEdriverserverを使用している場合、あなたはIEdriverserverの64ビットは、実行のために非常に非常に遅いのでIEdriverserverの32-bitと交換する必要があります。

根本原因を特定するためのIEドライバ。 Windowsのバージョンが64ビットの でIE 10以上を実行している場合、デフォルトでブラウザのクロム(アドレスバー、ナビゲーションボタン、メニューなど)を含むウィンドウをホストするプロセスは64ビットですプロセス。 コンテンツが実際に表示されるウィンドウをホストするプロセス(各 タブ内)は32ビットプロセスです。

注意事項慎重な読者は、すでにこれが、 の64ビットWindowsを実行している場合でも、32ビットバージョンのIEを使用して のコンテンツを表示している可能性があることを既に認識しています。これはIE 10以上のIEドライバである の32ビット版を引き続き使用するための強力な議論です。IEの64ビット版 に対して実際には実行されていません。あなたはIEDriverServer.exeの64ビットバージョンを実行しなければならないことを主張する場合

は、あなたが結合言語はこのために提供してどのようなメカニズム使ってfalseにnativeEvents 機能を設定することで、ネイティブのイベントを無効にすることができます。

希望します。:)

+0

ありがとうSaurabh、私はそれをしました。しかし、パフォーマンスはそれほど向上しませんでした。クロムとFirefoxでの実行に要する時間は約3分ですが、IEは約17分です。スクリプトは、ほとんどの場合、データをフェッチするためのテーブルを通過します。 – user3262242

+0

@ user3262242 IEの方がxpathの方がずっと遅いので、できるだけ多くの場合、cssSelectorを使用するようにしてください。:) –

+0

Robot Frameworkで書かれたテストでIEでテストを実行すると、あまり役に立ちません – user3262242