2017-04-25 26 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倍禁用。
希望它有帮助。 :)