Javascript 如何在量角器中等待按钮禁用状态?
下面的代码等待元素出现:Javascript 如何在量角器中等待按钮禁用状态?,javascript,angularjs,jasmine,protractor,Javascript,Angularjs,Jasmine,Protractor,下面的代码等待元素出现: var elm = element(by.css('button.submit')); var EC = protractor.ExpectedConditions; browser.wait(EC.presenceOf(elm), 5000); elm.click(); 用于检查按钮是否已启用的代码,该代码可用于单击: expect(elm.isEnabled().toBe(false)); 在我的情况下,表单验证执行得太
var elm = element(by.css('button.submit'));
var EC = protractor.ExpectedConditions;
browser.wait(EC.presenceOf(elm), 5000);
elm.click();
用于检查按钮是否已启用的代码,该代码可用于单击:
expect(elm.isEnabled().toBe(false));
在我的情况下,表单验证执行得太快。因此,按钮的启用和禁用有点慢。无法捕获元素的状态。上述两种情况均不适用于检查按钮是否被禁用
如何检查按钮禁用状态而不是使用
浏览器。sleep(1000)
在我的例子中,我创建了一个新的递归函数来确定它是否已启用/存在
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,elm,false)它将检查对象是否以1秒的间隔禁用10次。
希望有帮助。:)