2017-04-25 94 views
0

下面的代碼等待元件爲存在:如何等待量角器中的按鈕禁用狀態?

var elm = element(by.css('button.submit')); 

    var EC = protractor.ExpectedConditions; 
    browser.wait(EC.presenceOf(elm), 5000); 
    elm.click(); 

代碼以檢查是否按鈕被啓用,這可用於點擊:

expect(elm.isEnabled().toBe(false)); 

以我的條件下,形式驗證正在執行太快速。以便該按鈕被啓用並禁用位慢。無法捕獲元素的狀態。上述兩種情況都無法檢查按鈕是否被禁用。

如何檢查比使用browser.sleep(1000)

回答

0

在我的情況下其他按鈕禁用狀態,我創建了一個新的遞歸函數,以確定是否啓用/存在。

function checkIfDisabled(maxSec, elm, blnDisabled) { 
    if (maxSec > 0) { 
     browser.sleep(1000).then(function() { 
      elm.isDisabled().then(function(bln) { 
       if (bln != blnDisabled) { 
        checkIfDisabled(maxSec - 1, elm, blnPresent) 
       } 
      }); 
     }); 
    } 
} 

如果傳遞checkIfDisabled(10,榆樹,假)
它會檢查是否目的是一種用於以1秒的時間間隔的10倍禁用。
希望它有幫助。 :)