2015-12-24 24 views
4

我一直在瀏覽我正在處理的一個Angular應用程序,使用量角器測試CRUD的所有不同部分應用程序。所有的CRUD頁面都有創建/編輯按鈕,無論你在哪個頁面上,按鈕都會打開相同的模式,無論他們是創建還是編輯。失敗:未知錯誤:元素在點(x,x)處不可點擊 - 角度/量角器

我不一致地遇到上述問題。我從字面上會運行測試,它會給我這個錯誤,並不打開模式,然後我會再次運行它,它會打開模式,同樣的精確測試會通過。然後再次嘗試確認,並再次失敗。 ETC

讓你的測試唯一的問題似乎是瀏覽器/測試套件的問題,而不是實際的代碼是相當煩人的。只是要清楚我在Chrome中測試這個。

處理這類問題的方式是什麼?問題是傳遞和失敗的不一致性?我不清楚究竟需要修復哪些設置。

回答

4

這是困難的,沒有看到和運行實際測試的說法,但這裏有事情要嘗試:

  • 瀏覽器窗口最大化:

    browser.driver.manage().window().maximize(); 
    
  • disable all angular animations

  • 增加implicit wait timeout
  • 使用elementToBeClickable內置的預期條件:

    var EC = protractor.ExpectedConditions; 
    var elm = element(by.id("myelement")); 
    
    browser.wait(EC.elementToBeClickable(elm), 5000); 
    
  • 元素的scroll into view點擊之前:

    browser.executeScript("arguments[0].scrollIntoView();", elm.getWebElement()); 
    
  • move to element後再點擊:

    browser.actions().mouseMove(elm).click(elm).perform(); 
    
  • 點擊通過javascript

    browser.executeScript("arguments[0].click();", elm.getWebElement()); 
    
+0

什麼結束了對我的工作與每一個在測試過程中一個新的模式被渲染時間這一特定問題的是把一個.wait超時。我讓它等到模態中的其中一個元素可點擊後使用,然後執行在該模態中發生的其餘測試。這樣我們的頁面測試的所有7個頁面都可以100%完全消除問題。謝謝您的幫助! – jtbitt

+0

@jtbitt這太棒了,謝謝分享! – alecxe

相關問題