量角器暂停失败

Nix*_*Nix 8 selenium-webdriver protractor

我是量角器的新手,我正在试图弄清楚如何让测试/跑步者在失败时暂停.理想情况下,我希望转换到nodejs调试器,但我愿意接受任何建议.

我的用例基本上是,当测试失败时,我想看看UI处于什么状态,以帮助理解测试失败的原因.

缺口.

hol*_*vaj 9

您还可以添加到jasmine配置,以便在规范失败时停止:(与protractor-screenshot-reporter如何工作相同)

茉莉花1:

onPrepare: function () {
    exports.config = {
        onPrepare: function () {
            jasmine.getEnv().addReporter({
                reportSpecResults: function (spec) {
                    if (!spec.results().passed()) {
                        spec.results().items_.forEach(function (v) {
                            console.log(v.trace.stack);
                        });
                        browser.pause();
                    }
                }
            });
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

对于jasmine2:

onPrepare: function () {
    jasmine.getEnv().addReporter({
        specDone: function (spec) {
            if (spec.status === 'failed') {
                console.dir(spec.failedExpectations.length);
                console.log(spec.failedExpectations[0].message);
                console.log(spec.failedExpectations[0].stack);
                browser.pause();
            }
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

然后在控制台中输入"repl",切换到交互模式,这样就可以试用量角器命令.


Moh*_*sen 3

您可以在线路之后或之前让浏览器进入睡眠状态expect,以查看发生了什么。

browser.sleep(20000); // sleep 20 seconds
Run Code Online (Sandbox Code Playgroud)

更新:

量角器现在支持.pause()方法。

browser.pause()
Run Code Online (Sandbox Code Playgroud)

在此处阅读文档: https: //angular.github.io/protractor/#/api? view=Protractor.prototype.pause