如何在量角器中获得最新的控制台输出

时间:2016-01-03 14:08:01

标签: angularjs protractor

我正在测试混合AngularJS和非angularJS页面的网站。 我尝试做的一件事是查看是否由于用户提交的操作而触发了异常。 我这样做的方式是通过网络控制台。

要获得控制台输出,我的操作如下:

 afterEach(function(){
 browser.manage().logs().get('browser').then(function(browserLogs) {
     browserLogs.forEach(function(log){
         if (log.level.value > 900) { 
              // it's an error log
              console.log('Browser console error!');
              console.log(log.message);
         }
      });
  });     
});

应该触发异常的操作是在describe块的最后一个'it'语句中完成的。 在操作结束后,没有捕获到异常(来自控制台的其他消息),我注意到如果我在提到的'it'块之后添加一个'it'块(即使是空的那个也无效)异常被捕获。

at the mentioned 'it' block i do the following: 
1. press a link that directs me to the wanted page
2. issue browser.waitForAngular() command
3. perform the operation

attached my conf file configurations:

framework: 'jasmine2',
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['todo-spec.js'],
rootElement: '.keypressEvents.ng-scope',
allScriptsTimeout: 300000,
jasmineNodeOpts: {
  onComplete: null,
  isVerbose: false,
  showColors: true,
  includeStackTrace: true
},
onPrepare: function(){
jasmine.getEnv().addReporter(
    new HtmlScreenshotReporter({
        dest: '/protractor test/project/test/screenshots',
        filename: 'my-report.html',
        reportOnlyFailedSpecs: false,
        captureOnlyFailedSpecs: true,
        showQuickLinks: true
    })
 );

所以我的问题是为什么在最后一个'it'块上进行操作时没有抓住异常,我该怎么办才能抓住它。

0 个答案:

没有答案