2016-11-07 183 views
0

我正在爲我的應用程序編寫自動化測試。 Google Chrome上的測試運行良好。但是當我在Internet Explorer 11上運行它們時,它們運行速度非常慢。當我在chrome上運行它們時,一個測試用例將在近5分鐘內完成。但在IE11上,我已經運行了近3個小時的單個測試案例,測試僅在第二步。我試過以下的東西,使他們更快硒測試在Internet Explorer上運行速度非常慢

  1. 我用32位Internet Explorer驅動程序(我使用64位窗口)。與64位驅動程序相比,它運行速度很快,但仍然非常慢。
  2. 與CSS定位器相比,XPATH速度很慢,所以我用CSS定位器替換了所有XPATH定位器。它提高了Chrome瀏覽器的速度,但對於Internet Explorer,與以前相比速度沒有太大的差別。
  3. 我試圖在其他網站上爲Internet Explorer運行一些簡單的腳本,它們工作正常。但是當我爲myapp編寫類似的腳本時,我只需打開某個頁面並單擊一個按鈕,在Chrome上花費了10多分鐘時間,花了不到1分鐘時間。
  4. 我沒有使用任何隱式等待(硬編碼等待,如告訴代碼停止執行5秒)。相反在所有代碼中,我使用的是基於某些元素的可見性的等待。這爲Chrome和Firefox增加了時間,但對於Internet Explorer而言,速度並沒有提高。
  5. 我也修改我的代碼,以減少對DOM的冗餘訪問,但這也不會減少測試時間。

任何人都可以指導我如何使我的測試案例更快?我的應用程序是用AngularJS編寫的,我沒有任何訪問應用程序代碼的權限。我所能做的就是在測試方面讓他們更快。

回答

0

請參閱本github上評論: https://github.com/SeleniumHQ/selenium-google-code-issue-archive/issues/5116#issuecomment-192106534

*我認爲這可能是一個問題,或者

可能是JavaScript的創造問題,請嘗試在測試期間禁用它,看看是否有助於

,並嘗試這種代碼也

InternetExplorerOptions options = new InternetExplorerOptions(); 
options.IntroduceInstabilityByIgnoringProtectedModeSettings = true; 
options.RequireWindowFocus = true; 
driver = new InternetExplorerDriver(options); 

,對不起,我不熟悉Python,請轉換代碼並嘗試..

+0

我已經試過的32位驅動程序。它比64位驅動程序更快,但仍然非常慢。我在我的問題中提到過。 –

0

我發現,調用FindElements花了很長時間,只是通過設置這個InternetExplorerOptions下面它加快了很多東西。

var ieOptions = new InternetExplorerOptions(); 
 
ieOptions.EnablePersistentHover = false;