如何为量角器中进行的每个测试的屏幕截图指定规格名称

问题描述 投票:1回答:2

我正在使用量角器框架和jasmine-allure-reporter创建报告并截图。

jasmine.getEnv().addReporter(new AllureReporter({
      resultsDir: 'allure-results'
    }));
    jasmine.getEnv().afterEach(function (done) {
      browser.takeScreenshot().then(function (png) {
        allure.createAttachment('Screenshot', function () {
          return new Buffer(png, 'base64')
        }, 'image/png')();
        done();
      })
    });
  }

是否有针对每个测试自定义屏幕截图名称的规定?目前它有一些随机数作为图像名称(0a8bbc5e-35ee-4d7f-be8b-532fe4a1b4a8-attachment.png),而不是我想要这样的图像(<specname>.png)。有可能这样做吗?有人可以帮我吗?

jasmine protractor allure
2个回答
0
投票
var today = new Date();
    var timeStamp = today.getMonth() + 1 + '-' + today.getDate() + '-' + today.getFullYear() + '-' + today.getHours() + 'h-' + today.getMinutes() + 'm-' + today.getSeconds() + 's';
    ScreenShotName = 'MaGE_Admin' + '-' + timeStamp;
    jasmine.getEnv().addReporter(reporter);
    jasmine.getEnv().topSuite().afterEach({
        fn: async function () {
            try {
                await browser.takeScreenshot().then(function (png) {
                    allure.createAttachment(ScreenShotName, new Buffer.from(png, 'base64'));
                });
            } catch (e) {
                console.log(e);
            }
        }
    });

0
投票

您可以做这样的事情:

jasmine.getEnv().addReporter(new AllureReporter({
      resultsDir: 'allure-results'
    }));
    jasmine.getEnv().afterEach(function (done) {
      browser.takeScreenshot().then(function (png) {
        allure.createAttachment(exports.config.multiCapabilities.name, function () {
          return new Buffer(png, 'base64')
        }, 'image/png')();
        done();
      })
    });
  }

对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.