TypeError: reporter.beforeLaunch is not a function

TypeError: reporter.beforeLaunch is not a function

我正在尝试为 jasmine 2 实现量角器屏幕截图记者。

但是,我在终端上收到以下错误:

/usr/local/bin/node lib/cli.js example/conf.js

/Users/sadiq/node_modules/protractor/node_modules/q/q.js:155

扔 e;

^

类型错误:reporter.beforeLaunch 不是函数

在/Users/sadiq/node_modules/protractor/example/conf.js:38:19

在 exports.config.beforeLaunch (/Users/sadiq/node_modules/protractor/example/conf.js:37:13)

在 Function.promise (/Users/sadiq/node_modules/protractor/node_modules/q/q.js:682:9)

进程已完成,退出代码为 1

版本详情:

量角器:v3.1.1;

茉莉花:v2.0.0;

protractor-jasmine2-html-reporter

PFB conf.js 文件

// An example configuration file.

var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');

var reporter  = new Jasmine2HtmlReporter ({
dest:  '/Users/sadiq/node_modules/protractor/test-results',
filename: 'Login.html'
});

exports.config = {


//The address of a running selenium server.
seleniumAddress: 'http://localhost:4444/wd/hub',

// Capabilities to be passed to the webdriver instance.
capabilities: {
    'browserName': 'chrome'
},

// Framework to use. Jasmine is recommended.
framework: 'jasmine2',

// Spec patterns are relative to the current working directly when
// protractor is called.
specs: ['login_spec.js'],

// Options to be passed to Jasmine.
jasmineNodeOpts: {
    defaultTimeoutInterval: 30000,
    showColors: true
},


// Setup the report before any test starts
beforeLaunch: function (){
    return new Promise(function(resolve){
        reporter.beforeLaunch(resolve);
    });
},


onPrepare: function () {
    browser.driver.manage().window().setSize(1200, 800);
    jasmine.getEnv().addReporter(reporter);
},


// Close the report after all tests finish
afterLaunch: function (exitCode) {
    return new Promise(function (resolve) {
        reporter.afterLaunch(resolve.bind(this, exitCode));
    });


  }

};

通常记者设置在 onPrepare 而不是 beforeLaunch:

var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');

onPrepare: function () {
    browser.driver.manage().window().setSize(1200, 800);

    var reporter  = new Jasmine2HtmlReporter ({
        dest:  '/Users/sadiq/node_modules/protractor/test-results',
        filename: 'Login.html'
    });
    jasmine.getEnv().addReporter(reporter);
},