Jasmine 如何在量角器中为每个测试运行的屏幕截图指定规范名称

Jasmine 如何在量角器中为每个测试运行的屏幕截图指定规范名称,jasmine,protractor,allure,Jasmine,Protractor,Allure,我正在使用量角器框架和jasmine allure reporter创建报告并截图 jasmine.getEnv().addReporter(新诱惑报告器)({ resultsDir:“诱惑结果” })); jasmine.getEnv().afterEach(函数(完成){ browser.takeScreenshot().then(函数(png){ allure.createAttachment('屏幕截图',函数(){ 返回新缓冲区(png,“base64”) },“image/png')

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

jasmine.getEnv().addReporter(新诱惑报告器)({
resultsDir:“诱惑结果”
}));
jasmine.getEnv().afterEach(函数(完成){
browser.takeScreenshot().then(函数(png){
allure.createAttachment('屏幕截图',函数(){
返回新缓冲区(png,“base64”)
},“image/png')();
完成();
})
});
}

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

你可以这样做:

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

这对我很有用。

你可以这样做:

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

这对我很有用。

请提供更多关于你的答案如何解决问题的信息。请提供更多关于你的答案如何解决问题的信息。请注意我使用的是多电容,但如果你只使用了功能,请替换它,并且应该也可以使用。>exports.config.capabilities.namese我使用的是multicapabilities,但如果您只使用功能,请替换它,它也应该可以工作。>exports.config.capabilities.name