无法使用量角器中的 html 屏幕截图生成报告

Posted

技术标签:

【中文标题】无法使用量角器中的 html 屏幕截图生成报告【英文标题】:Unable to generate report using html screen shot in protractor 【发布时间】:2015-01-09 02:38:09 【问题描述】:

我正在尝试使用量角器中的 html 屏幕截图生成报告,已遵循所有步骤,但出现错误。请帮忙。

我的 conf.js

// An example configuration file.
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 = 
  directConnect: true,

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

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

  // Options to be passed to Jasmine-node.
  jasmineNodeOpts: 
    showColors: true,
    defaultTimeoutInterval: 30000
  

  onPrepare: function() 
        jasmine.getEnv().addReporter(reporter),
    ;
;

我得到的错误:意外错误。

SyntaxError: Unexpected identifier
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at ConfigParser.addFileConfig (C:\Users\jeevan.s\AppData\Roaming\npm\node_modules\protractor\lib\configParser.js:183:20)
    at Object.init (C:\Users\jeevan.s\AppData\Roaming\npm\node_modules\protractor\lib\launcher.js:35:18)
    at Object.<anonymous> (C:\Users\jeevan.s\AppData\Roaming\npm\node_modules\protractor\lib\cli.js:129:23)
    at Module._compile (module.js:456:26)

【问题讨论】:

希望您在使用之前安装了 html-screenshot-reporter。 npm install protractor-html-screenshot-reporter 【参考方案1】:

您有语法错误:

onPrepare() 之前缺少,: 在调用addReporter() 后将, 替换为; 删除;onPrepare()

固定版本:

// An example configuration file.
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 = 
    directConnect: true,

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

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

    // Options to be passed to Jasmine-node.
    jasmineNodeOpts: 
        showColors: true,
        defaultTimeoutInterval: 30000
    ,

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

【讨论】:

【参考方案2】:

这个特定的网站帮助了我很多 https://www.npmjs.com/package/protractor-jasmine2-html-reporter

此修复还添加了保存路径。

我所做的是在 Conf.js 文件中添加了以下 var 并将 Framework: 更新为 'Jasmine2' 和以下内容,这是我完整的 conf.js 文件:

// conf.js
var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');

exports.config = 
    framework: 'jasmine2',
    seleniumAddress: 'http://localhost:4444/wd/hub',
    specs: ['*.js'],
    onPrepare: function() 
        jasmine.getEnv().addReporter(
            new Jasmine2HtmlReporter(
                savePath: 'target/screenshots'
            )
        );
    

【讨论】:

以上是关于无法使用量角器中的 html 屏幕截图生成报告的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Jenkins 中将屏幕截图附加到 XCUITest 报告。只有通过 XCODE 运行才能看到截图

我可以在 mocha awesome html 报告中添加柏树截图吗

如何将失败的屏幕截图包含到代码接收报告中

无法摆脱 HTML 表格边框 - 带有屏幕截图和 jfFiddle

使用 jquery 生成网站的屏幕截图

带有量角器的黄瓜 HTML 报告