【发布时间】:2019-01-03 14:08:38
【问题描述】:
我的应用程序具有仅在某些情况下出现的条款和条件模式。如果模态出现,我希望量角器测试单击同意,如果没有出现,则不执行任何操作。
这是我的方法,我尝试等待元素出现,如果没有出现则捕获错误。如果出现该按钮,则单击该按钮并通过测试。但是,如果该按钮未出现,则测试将失败并显示“元素耗时过长...”消息。
waitForAgree() {
var until = protractor.ExpectedConditions;
try {
browser.wait(until.visibilityOf(this.agreeTerms), 5000, 'Element taking too long to appear in the DOM');
this.agreeTerms.click();
this.continue.click();
} catch (e) {
console.log("not found");
}
}
我也尝试了以下方法。这给了我消息Failed: Cannot read property 'agreeTerms' of undefined
clickAgree() {
//browser.ignoreSynchronization = true;
this.agreeTerms.isPresent().then(function (isPresent) {
if (isPresent) {
this.agreeTerms.click();
this.continue.click();
}
else {
console.log("not found");
}
})
}
感谢任何有关这些错误的帮助。
【问题讨论】:
标签: javascript typescript selenium protractor try-catch