关于angularjs:protractor使用jasmine报告器测试报告

Protractor tests reports using jasmine-reporters

我正在尝试将protractor测试结果导出到xml文件中,因为我已经使用

安装了jasmine-reporters

npm install -g jasmine-reporters

protractor版本为Version 2.1.0

jasmine报道者版本2.0.7

这是我的protracotr配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
exports.config = {
  seleniumAddress: 'http://localhost:4455/wd/hub',
  capabilities: {
    'browserName': 'chrome'
  },
  specs: [
    'student_spec.js'
    ],  

  onPrepare: function() {      
    require('jasmine-reporters');
    jasmine.getEnv().addReporter(
      new jasmineReporters.JUnitXmlReporter(null, true, true, '/test/e2e/JasmineReporter')
    );
  },
  jasmineNodeOpts: {
        showColors: true,
        defaultTimeoutInterval: 50000
      }      
};

运行protractor时,出现此错误

1
Error: Cannot find module 'jasmine-reporters'

帮我,我做错了。


确保已安装jasmine报告程序,并提供了jasmine报告程序的正确路径。如果已正确安装,则运行以下命令以查看是否获得了它的版本-

1
npm list -g jasmine-reporters

如果安装时遇到问题,请使用以下命令安装与Jasmine 2.x版本兼容的-

1
npm install --save-dev jasmine-reporters@^2.0.0

更新您的conf.js文件,以包括软件包文件中提到的正确的全局范围变量jasmineReporters-

1
2
3
4
5
6
7
    framework: 'jasmine2',
    onPrepare: function() {
    var jasmineReporters = require('path_of_installed_jasmine-reporters-plugin');
    //update proper path, in my case its ('/usr/local/lib/node_modules/jasmine-reporters')
    jasmine.getEnv().addReporter(
        new jasmineReporters.JUnitXmlReporter(null, true, true, '/test/e2e/JasmineReporter')
    );};


我在本地安装jasmine时也遇到了同样的问题,但是当我在全球范围内安装jasmine时,对我来说效果很好。

1
npm install a€"g jasmine-reporters@^2.0.0

然后,

1
npm list -g jasmine-reporters

之后,如上所述再次运行conf.js


您尝试过:

1
var jasmineReporters = require('jasmine-reporters').jasmineReporters;


我认为类似的方法应该起作用。
最好的问候