toThrow使用pageobjects捕获量角器错误

时间:2017-01-27 11:43:16

标签: selenium jasmine protractor automated-tests

我开始使用量角器+ 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错误的任何想法?

1 个答案:

答案 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要尝试的内容。