不能使用var HtmlReporter = require('protractor-html-screenshot-reporter')

时间:2016-03-10 10:20:23

标签: node.js npm protractor

我需要在Protractor中生成测试报告。我经历了一些教程,这些教程对我来说并不清楚。

当我尝试安装npm时,发生以下错误。

enter image description here

运行此文件夹后,创建名为node_modules的文件夹。但是,我不知道为什么我不能安装npm。请帮忙。

-edit -

我正在使用this教程生成量角器报告。

我将var HtmlReporter = require('protractor-html-screenshot-reporter')添加到conf.js 这是我的完整档案。

// conf.js
exports.config = {
  framework: 'jasmine',
  seleniumAddress: 'http://localhost:4444/wd/hub',
  specs: ['invoice.js'],
  capabilities: {
    browserName: 'chrome',
  },
  jasmineNodeOpts: {
    showColors: true, // Use colors in the command line report.
  }

    var HtmlReporter = require('protractor-html-screenshot-reporter');

      var reporter=new HtmlReporter({
        baseDirectory: './protractor-result', // a location to store screen shots.
        docTitle: 'Protractor Demo Reporter',
        docName:    'protractor-demo-tests-report.html'
    });

    exports.config = {
        seleniumAddress: 'http://localhost:4444/wd/hub',
        specs: ['invoice.js'],

        onPrepare: function() {
            jasmine.getEnv().addReporter(reporter);
        }
    }
}

发生以下错误。

enter image description here

请告诉我该怎么做。提前谢谢。

1 个答案:

答案 0 :(得分:2)

您的conf.js格式错误 - 您无法在对象定义中定义变量。看起来应该是这样的:

var HtmlReporter = require('protractor-html-screenshot-reporter');
var reporter = new HtmlReporter({
    baseDirectory: './protractor-result', // a location to store screen shots.
    docTitle: 'Protractor Demo Reporter',
    docName: 'protractor-demo-tests-report.html'
});

exports.config = {
  framework: 'jasmine',
  seleniumAddress: 'http://localhost:4444/wd/hub',
  specs: ['invoice.js'],
  capabilities: {
    browserName: 'chrome',
  },
  jasmineNodeOpts: {
    showColors: true, // Use colors in the command line report.
  },
  onPrepare: function() {
      jasmine.getEnv().addReporter(reporter);
  }
}

请注意,我从未使用过Protractor,所以我不能保证这是一个有效的配置,但它应该排序你的语法错误。