TypeError:reporter.beforeLaunch不是一个函数

时间:2016-03-09 12:11:41

标签: javascript angularjs node.js protractor jasmine-node

我正在尝试为茉莉花2实施量角器截图记者。

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

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

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

扔e;

^

TypeError:reporter.beforeLaunch不是函数

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

at 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;

Jasmine:v2.0.0;

量角器-jasmine2-HTML - 报告

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));
    });


  }

};

1 个答案:

答案 0 :(得分:0)

通常,记者设置在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);
},