在 httpBackend 中打印请求 API 量角器中的模拟模块

Print request in httpBackend API mock module in Protractor

我 运行 我在量角器中使用 angular 服务 $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 模块中打印每个请求的 URLheaders(例如,对于用户资源) :

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

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

有什么办法可以随处打印吗?即使在输出文本文件中?

console.log() 语句是 WebDriver 的 ignored。 您可以按照 here.

所述使用 console.info()console.warn()console.error()