Angularjs量角器3.3.0没有报告规范



对于通过的运行,我没有看到预期的输出,断言没有列出。我希望在这一行看到断言"1个规范,0个失败"。

输出:

  [18:28:06] I/hosted - Using the selenium server at http://localhost:4444/wd/hub
  [18:28:06] I/launcher - Running 1 instances of WebDriver
  Started
  .

  1 spec, 0 failures
  Finished in 0.854 seconds
  [18:28:08] I/launcher - 0 instance(s) of WebDriver still running
  [18:28:08] I/launcher - chrome #01 passed

在量角器网站上看到的运行输出的预期结束,http://www.protractortest.org/#/"运行测试"):

  1 test, 3 assertions, 0 failures

规范:

  describe('Viewing index.html', function() {
  'use strict';

   beforeEach(function(){
     browser.get('/');
   });
   it('should have pages in left nav', function() {
      expect(element.all(by.repeater('page in adminClient.selectedSite.pages')).count()).toBeGreaterThan(0);
    });
  });

我验证了by。中继器定位器工作:

  element.all(by.repeater('page in adminClient.selectedSite.pages')).count()
         .then(function(count){
            console.log('page count: ' + count);
      });

[UPDATE]根据这个SO,这是一个版本问题,建议在onPrepare钩子上注入茉莉花报告器,但这为我创造了更多的运行时错误。栈溢出问题

My protractor config:

  exports.config = {
    allScriptsTimeout: 11000,
    chromeOnly: true,
    chromeDriver: 'node_modules/protractor/bin/selenium/chromedriver_2.21',
    seleniumAddress: 'http://localhost:4444/wd/hub',
    specs: ['tests/e2e/*-spec.js'],
    capabilities: {
      'browserName': 'chrome'
    },
    baseUrl: 'http://localhost:8889/',
    framework: 'jasmine',
    jasmineNodeOpts: {
      showColors: true,
      defaultTimeoutInterval: 30000
    }
  };

要查看规范名称和断言,必须将--verbose标志传递给量角器。如果你使用grunt或其他工具来运行量角器,你需要在你的配置中指定这个标志。

编辑看了你的编辑,我相信我已经找到了解决你问题的办法。我已经在我自己的项目中尝试过了,它似乎有效。

潜在的问题是您可能正在使用量角器3,它不再支持许多以前的选项,特别是在jasmineNodeOpts中。要纠正这个问题,您应该将量角器的版本降级到2,最新版本是2.5.1

下面是protractor的github库的相关问题。它还提到了onPrepare钩子中的自定义报告器,就像你所说的那样,但是是不同的:jasmine-spec-reporter。我得到的工作以及与您使用的稍微不同的配置,但它不显示断言,只是有一个更好的输出测试,我很喜欢:

jasmineNodeOpts: {
  print: function () {} // remove dots for each test
},
onPrepare: function () {
    var SpecReporter = require('jasmine-spec-reporter');
    jasmine.getEnv().addReporter(new SpecReporter({displayStackTrace: true}));
}

相关内容

  • 没有找到相关文章

最新更新