【发布时间】:2017-11-17 10:06:57
【问题描述】:
我正在使用量角器进行端到端测试,需要在单击按钮之前检查状态指示器是否消失。现在我无法做到这一点。
我曾尝试使用invisibilityOf() 和stalenessOf(),但它不起作用。它显示错误'在点 (540,823) 不可点击,其他元素将收到点击:'
这是我在 PageObject 中的代码:
public isNotPresent(elem) {
return browser.wait(protractor.ExpectedConditions.stalenessOf(elem), 5000).then(function () {
console.log("Status indicator is not present in DOM");
return true; //success
},function () {
console.log("Status indicator is present in DOM");
return false; //Failure
});
}
public waitForStatusIndicator(){
console.log('in method wait for status indicator');
return this.isNotPresent(element(by.css('#api-status-indicator'))).then((isNotPresent)=>{
return isNotPresent;
});
}
这是我尝试检查状态指示器的地方:
PageObject.waitForStatusIndicator().then(function (isNotPresent) {
if(isNotPresent == true) {
someButton.click();
return expect(browser.getCurrentUrl()).not.toBe(browser.baseUrl + "/login");
}
})
我哪里错了?
【问题讨论】:
-
如果把节点彻底删除,找不到了是正常的。也许在使用
stalenessOf之前先检查它是否存在?
标签: angular typescript testing protractor end-to-end