在Protractor中的httpBackend API模拟模块中打印请求

时间:2015-04-15 19:38:25

标签: angularjs protractor httpbackend e2e-testing ngmocke2e

我在量角器中使用角度服务$ httpBackend对一个模拟API运行我的e2e测试。

我已经拥有了selenium浏览器的调试日志:

afterEach(function() {
  browser.manage().logs().get('browser').then(function(browserLog){
    if(browserLog.length) {
      for (var i = 0; i < browserLog.length; i++) {
        if( typeof browserLog[i] !== 'undefined') {
          console.log(
            JSON
            .parse(browserLog[i].message).message.parameters[0].value
          );
        }
      };
    }
  });
});

我想在我的httpBackend模块中打印每个请求的网址标题(例如,对于用户资源):

$httpBackend
  .whenGET(/^\/api\/users.*$/)
  .respond(function(method, url, data, headers) {
     var users = mockUserService.getData();
     console.log(url);
     console.log(headers);
     return [200, users, {}];
});

但httpBackend模块内的任何地方都没有记录任何内容。当我在我的应用程序中使用它时它工作正常,但是当我将它与量角器一起使用时它没有。

有没有办法在任何地方打印?即使在输出文本文件中?

1 个答案:

答案 0 :(得分:11)

WebDriver的

console.log()语句为ignored。 您可以按here所述使用console.info()console.warn()console.error()