下面的代码等待元素存在:
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 :(得分:1)
就我而言,我创建了一个新的递归函数来识别它是否已启用/存在。
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次
希望能帮助到你。 :)