2016-07-30 24 views
0

在IE11上運行時,我的腳本性能非常低。我的腳本中的一些腳本在2-3分鐘內運行,並且在IE上花費超過25分鐘。我正在使用Robot Framework,我的大多數定位器都是xpath。我的應用程序沒有元素的ID定位符。爲了實驗目的,我嘗試切換到CSS,但這只是略微提高了性能。 據我所知,由於IE沒有本地xpath引擎,IEdriverserver使用wicked-good-xpath進行解析。這個xpath庫應該是最快的。 是否有任何其他修改/增強功能可以改善腳本的性能?機器人框架中的IE 11性能

+0

當我通過元素列表遍歷DOM時,性能很糟糕。如從跨度,div等列表中獲取文本 – user3262242

回答

1

如果您正在使用64-bit IEdriverserver,你需要IEdriverserver的32-bit來取代它,因爲IEdriverserver的64位是非常的執行速度很慢。

IE驅動程序確定根本原因。當您在64位版本的Windows上運行IE 10或更高版本時,默認情況下,託管包含窗口的進程(包括瀏覽器鑲邊(地址欄,導航按鈕,菜單等)爲 )爲64位處理。 託管實際呈現內容的窗口的過程(每個 選項卡內)都是一個32位過程。

一些注意事項。細心的讀者已經意識到,這意味着即使當您運行64位Windows時,您可能也會使用32位版本的IE來呈現內容的 。這是繼續使用IE 10驅動程序的32位版本 的一個強有力的參數:您實際上並沒有針對IE的64位版本 運行。

如果你堅持,你必須運行IEDriverServer.exe的64位版本,你可以通過設置nativeEvents 能力爲false的任何機制語言的結合提供了這種禁用本地事件。

希望它有幫助.. :)

+0

謝謝Saurabh,我做到了。但表現並沒有太大的改善。在Chrome和Firefox中執行的時間大約是3分鐘,但IE大約是17分鐘。該腳本主要遍歷一個表來獲取數據。 – user3262242

+0

@ user3262242我建議你儘量使用cssSelector,如果可能的話,因爲IE瀏覽器的xpath速度要慢得多...... :) –

+0

當我在IE上運行測試時使用Robot Framework中編寫的測試時,它並沒有什麼幫助 – user3262242