2016-03-16 48 views
0

我想在量角器中生成报告,我跟着this教程来做到这一点。找不到量角器结果文件夹'量角器-html-截图记者'

这是我的conf.js文件。

var HtmlReporter = require('protractor-html-screenshot-reporter'); 
var reporter = new HtmlReporter({ 
    baseDirectory: 'D:/My Work/Protractor/Financial/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 conf.js而且也没有生成包含测试结果的文件夹。如果我使用命令,protractor specs\configurations.js会发生以下错误。

ERROR - failed loading configuration file specs/conf.js 
C:\Users\Manuli\AppData\Roaming\npm\node_modules\protractor\lib\configParser.js: 
204 
    throw e; 
    ^

Error: Cannot find module 'D:\My Work\Protractor\Financial\specs\conf.js' 
    at Function.Module._resolveFilename (module.js:339:15) 
    at Function.Module._load (module.js:290:25) 
    at Module.require (module.js:367:17) 
    at require (internal/module.js:16:19) 
    at ConfigParser.addFileConfig (C:\Users\Manuli\AppData\Roaming\npm\node_modu 
les\protractor\lib\configParser.js:195:22) 
    at Object.init (C:\Users\Manuli\AppData\Roaming\npm\node_modules\protractor\ 
lib\launcher.js:103:18) 
    at Object.<anonymous> (C:\Users\Manuli\AppData\Roaming\npm\node_modules\prot 
ractor\lib\cli.js:140:23) 
    at Module._compile (module.js:413:34) 
    at Object.Module._extensions..js (module.js:422:10) 
    at Module.load (module.js:357:32) 

为什么我无法生成报告?

在此先感谢。 :)

+1

你在哪里使用'茉莉记者'?你正在使用'protractor-html-screenshot-reporter',它与过时的茉莉花1.x版本一起使用。你为什么不尝试更新你的东西,并使用与'jasmine2'兼容的其他记者。 –

+0

对不起。我更新了问题标题。你能建议与茉莉花兼容的物品吗? :) –

+2

这里是一个 - https://www.npmjs.com/package/protractor-jasmine2-screenshot-reporter –

回答

0

我改变了我的conf.js这个。

var HtmlScreenshotReporter = require('protractor-jasmine2-screenshot-reporter'); 

var reporter = new HtmlScreenshotReporter({ 
    dest: 'D:/My Work/Protractor/Financial/screenshots', 
    filename: 'my-report.html' 
}); 

exports.config = { 
framework: 'jasmine', 
    seleniumAddress: 'http://localhost:4444/wd/hub', 
    specs: ['invoice.js'], 
    capabilities: { 
    browserName: 'chrome', 
    }, 
// Setup the report before any tests start 
    beforeLaunch: function() { 
     return new Promise(function(resolve){ 
     reporter.beforeLaunch(resolve); 
     }); 
    }, 

    // Assign the test reporter to each running instance 
    onPrepare: function() { 
     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)); 
     }); 
    } 
} 

然后我用npm install protractor-jasmine2-screenshot-reporter --save-dev命令来安装NPM。

现在就工作。 :)