失败的量角器测试用例中的预期值和实际值

时间:2017-09-20 15:16:36

标签: jasmine protractor e2e-testing

我最近安装了jasmine-spec-reporter软件包,以便在执行测试套件期间生成更详细,更有帮助的日志记录。

我希望能够为失败的测试用例记录expectedactual值,并且想知道我是否需要以expect(someCondition).toEqual(true);的形式明确地为我提供一个声明看到这些价值观。

例如,我有如下函数:

it('should log in', function(done) {
    var customerNameElement;

    customerNameElement = element.all(by.xpath('some_xpath')).first();

    core.infoMessage(browser, JSON.stringify(params, undefined, 4));
    login.login(browser, undefined, undefined, getWaitTime())
        .then(function() {
             return browser.wait(protractor.ExpectedConditions.and(
                 function() { return core.isUnobscured(browser, customerNameElement); 
        }, protractor.ExpectedConditions.elementToBeClickable(customerNameElement)), getWaitTime());
    })
    .catch(fail)
    .then(done);
});

我仍然可以将故障记录到控制台,但不能以我想要的形式记录。 jasmine-spec-reporter是否处理此问题,或者我是否必须在每个测试用例中添加上面的语句?

此外,fail中的.catch()关键字是否具有我可以使用的任何属性?它来自:

  

// Jasmine 2.5.2的类型定义//项目:http://jasmine.github.io/

由于

1 个答案:

答案 0 :(得分:0)

您可以尝试在protractor_config文件中添加以下内容:

让SpecReporter = require('jasmine-spec-reporter')。SpecReporter;

exports.config = {    //你的配置在这里......

onPrepare:function(){
    jasmine.getEnv()。addReporter(new SpecReporter({
      规范:{
        displayStacktrace:true
      
}
    }));   
} }

另外,在jasmineNodeOpts部分添加打印功能 jasmineNodeOpts:{    ...    print:function(){} }