element(by.binding('binding-name'))
失败的原因是什么?它抛出错误
失败:预期'by.binding(“binding-name”)'存在且可见。 1659年后驾驶员等待。上次webdriver错误:错误:40003ms后等待超时
但如果我将其更改为element(by.css('ng-bind="binding-name"'))
,则可以正常使用。
这用于我的测试的注销功能
function logOut() {
element(by.binding('binding-name')).click() //works fine with element(by.css('ng-bind="binding-name"'))
.then(function () {
return element(by.css('[ng-click="LogOut()"]')).waitReady();
}).then(function (tab) {
return tab.click();
});
}
另外,我没有更改ignoreSynchronization标志中的任何内容。
答案 0 :(得分:0)
等待尝试:
browser.wait(EC.presenceOf(element(by.binding("binding-name"))), 30000).then(function () {
browser.wait(EC.visibilityOf(element(by.binding("binding-name"))), 30000).then(function () {
element(by.binding('binding-name')).click();
});
});
它可能会很快找到该元素并尝试在它出现在DOM之前单击它。
答案 1 :(得分:0)
试试这个:
element(by.binding('binding-name')).then(function(ele){
ele.click();
});
答案 2 :(得分:0)
从@sanja的回答中,我得到了方向 - 角度binding
标签出了问题。
当我进行更详细的检查时,我发现我在生产环境中调用debugInfoEnabled(false)
来提升性能,但它对量角器的API产生了负面影响。 (实际上,那就是debugInfoEnabled的全部内容)
谢谢大家的帮助,非常感谢!