【问题标题】:toThrow to catch protractor error using pageobjectstoThrow 使用页面对象捕获量角器错误
【发布时间】:2017-06-13 02:09:29
【问题描述】:

我已经开始使用 Protractor + 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 错误的任何想法?

【问题讨论】:

    标签: selenium jasmine protractor automated-tests


    【解决方案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 的尝试。

    【讨论】:

    • 我怎样才能用 Jasmine 捕获那个错误回调?这是我真正的问题。
    猜你喜欢
    • 1970-01-01
    • 2018-05-03
    • 2014-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    • 1970-01-01
    • 2011-06-18
    相关资源
    最近更新 更多