当前位置: 首页 > 知识库问答 >
问题:

protractor-jasmine2-screenshot-reporter创建报告,但结果为“0”且没有屏幕截图

韩智敏
2023-03-14

我一直在尝试使用“protractor-jasmine2-screenshot-reporter”获取执行结果的html报告和屏幕截图,但html报告的创建内容如下

报告

摘要

    var HtmlScreenshotReporter = require('protractor-jasmine2-screenshot-reporter');
    var reporter = new HtmlScreenshotReporter({
    dest: 'target/screenshots',
    filename: 'my-report.html'
    });
    exports.config = {

    directConnect: true,
    //seleniumAddress: 'http://localhost:4444/wd/hub',
    capabilities: {'browserName': 'chrome'},
    framework: 'jasmine',
    specs: ['Login_spec3.js'],
    allScriptsTimeout: 180000,
    getPageTimeout: 180000,
    jasmineNodeOpts: {
     defaultTimeoutInterval: 180000
    },

   // 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);
     afterAll(function(done) {
       process.nextTick(done);
     })
   },
    // Close the report after all tests finish
     afterLaunch: function(exitCode) {
       return new Promise(function(resolve){
     reporter.afterLaunch(resolve.bind(this, exitCode));
     });
   },
   onPrepare: function() {
     var width = 1300;
     var height = 1200;
    browser.driver.manage().window().setSize(width,height);
    }
   };

共有1个答案

公冶智刚
2023-03-14

@sonal:发现问题了,你使用的两个onPrepare函数是冲突的,只使用一个,所以修改后的工作配置将是:

  var HtmlScreenshotReporter = require('protractor-jasmine2-screenshot-reporter');
  var reporter = new HtmlScreenshotReporter({
  dest: 'target/screenshots'
, filename: 'my-report.html'
});
exports.config = {

directConnect: true, //seleniumAddress: 'http://localhost:4444/wd/hub',
capabilities: {
    'browserName': 'chrome'
}
, framework: 'jasmine'
, specs: ['spec.js']
, allScriptsTimeout: 180000
, getPageTimeout: 180000
, jasmineNodeOpts: {
    defaultTimeoutInterval: 180000
},

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

// Close the report after all tests finish
afterLaunch: function (exitCode) {
    return new Promise(function (resolve) {
        reporter.afterLaunch(resolve.bind(this, exitCode));
    });
}
, onPrepare: function () {
    var width = 1300;
    var height = 1200;
    browser.driver.manage().window().setSize(width, height);
    jasmine.getEnv().addReporter(reporter);
    afterAll(function (done) {
        process.nextTick(done);
    })
}
};

我在我的系统中测试了它,它工作得很好;)

 类似资料:
  • Cucumber Extent Reports在没有屏幕截图的情况下工作,但是当我想要在Extent report中使用屏幕截图时,我会得到以下例外。 为了制作cucumber范围报告,我只做了配置更改。。。没有代码更改。为了添加截图,我在下面添加了钩子来添加截图API。 波姆。xml: 跑步者代码: 在钩子中添加截图代码: 添加了最后一行- 我使用extent.properties文件和exte

  • 我正在尝试使用extent report构建selenium,但无法使用save screenshot函数,因为我无法引用ITestListener类中的WebDriver对象。下面是我的示例代码: 测试转轮。java: TestListener.java公共类TestListener实现ITestListener{ 问题: > 如何将WebDriver对象从TestRunner.java传递给T

  • 我在我的项目中使用cucumber版本4。我在我的项目中使用以下依赖项。 使用上述依赖关系,我能够生成“cucumberjvm报告”。 我还用java编写了代码,用于将屏幕截图附加到报告中,我只在场景失败时拍摄屏幕截图。 我不确定是否遗漏了什么,但屏幕截图没有附加到报告中。cucumber生成的默认html报告正在显示屏幕截图。 谁能帮我一下吗。谢谢

  • 我无法看到截图被捕获在cucumber的程度报告。 我已经调试并观察到代码已经执行,但屏幕截图并没有保存在extent report或html report文件中。 截图代码 if(scenario.isFailed()){byte[]screenshot=seleniumitls.captureShot();scenario.public void screenshot(scenario sce

  • 您可以导出Burp Scanner生成的部分或全部问题的报告。你可以依次打开站点地图(Site map)-->问题视图(Issues view)或在问题活动日志中选择报告所选问题(Report selected issues),报告向导将带着您您为报告做各种选项,具体如下。 查看示例报告 报告格式 您可以为报告选择以下格式之一: HTML - 生成HTML格式的报告,以便在浏览器中打印或查看。 X

  • 我试图在一个网页中给出的表格的屏幕截图。和我在代码中提供的相同元素xpath,但是Ashot代码正在捕获其他位置的屏幕截图。 我也尝试过其他截图代码, 但它给了我错误,我可以通过阅读这个链接来修复:https://github.com/pazone/ashot/issues/93,然后我使用下面的代码: 请帮助,因为此代码正在给我网页某些随机部分的屏幕截图。我也试图捕获其他元素,但我再次没有得到正