我开始使用量角器+ Jasmine进行E2E测试。
这个想法是做一个无效的操作并捕获异常:
expect(function () { return documentsPanel.clickUploadButtonError(); }).toThrow();
documentsPanel只是一个包含多个页面操作的页面对象。这就是我定义方法的方法:
this.clickUploadButtonError = function () {
return uploadButton.click().thenCatch(function (err) {
throw('Cannot click upload button.');
});
};
想法是期望通过捕获错误来传递,但我的测试仍然失败,因为uploadButton.click()抛出了Selenium错误:
失败:未知错误:元素...在点(263,131)处无法点击。
关于Jasmine如何捕获Selenium错误的任何想法?
答案 0 :(得分:1)
您可以明确提供错误回调:
return uploadButton.click().then(function success() {
console.log("Click was successful");
}, function failure(error) {
console.log("Click was unsuccessful");
console.log(error);
});
作为旁注,如果您有兴趣解决“元素无法点击”错误,请参阅this summary要尝试的内容。