在本地保存量角器诱惑 html 报告
Save protractor allure html report locally
我正在使用 Protractor 和 jasmine-allure-reporter。执行测试后,我在 'allure-results' 中获取 XML 文件,从那里我使用命令 "allure serve allure-results" 生成 HTML 报告。执行此命令时,html 报告会在 'Temp' 文件夹 (%Temp%91932647422029\allure-report) 中生成。我想在本地 generate/save 这份报告,我该怎么做。因为测试完运行我可能要分享html的报告。你能帮我解决这个问题吗?
下面是 allure-report
的 Config.js 部分
onPrepare: function() {
var AllureReporter = require('jasmine-allure-reporter');
jasmine.getEnv().addReporter(new AllureReporter());
jasmine.getEnv().afterEach(function(done){
//allure.addEnvironment(Path, 'Chrome'),
browser.takeScreenshot().then(function (png) {
allure.createAttachment('Screenshot', function () {
return new Buffer(png, 'base64')
},'image/png')();
done();
})
});
}
请按照此设置在您的本地目录中生成输出。 'Allure Command Line Tool' 将帮助您生成魅力报告。
通过运行这个命令安装它npm install allure-commandline --save-dev
之后,将 "posttest": "allure generate allure-results --clean -o allure-report"
部分添加到您的 package.json 中。因此,当 运行 使用 npm test
进行测试时, posttest
中提到的命令将在您的本地目录中生成报告。您可以参考下面 package.json
文件的示例 script
部分。
"scripts": {
"pretest": "rm -rf allure-report",
"test": "protractor conf.js",
"posttest": "allure generate allure-results --clean -o allure-report || true"
}
在 posttest
部分中,您指的是 --clean -o
部分之后的输出目录位置。
也像这样更改您的 conf.js
文件并在 resultsDir
部分添加本地目录路径以存储生成的 xml 文件。
onPrepare: function () {
var AllureReporter = require('jasmine-allure-reporter');
//allure report
jasmine.getEnv().addReporter(new AllureReporter({
resultsDir: 'allure-results'
}));
/*
* It will take screenshot after each Jasmine function 'it'
*/
jasmine.getEnv().afterEach(function (done) {
browser.takeScreenshot().then(function (png) {
allure.createAttachment('Screenshot', function () {
return new Buffer(png, 'base64')
}, 'image/png')();
done();
})
});
}
当前设置将生成 allure-results
中的所有 xml
文件和 allure-report
文件夹中的 html 报告(两者都在根目录中)。
|-allure-results
|-allure-report
|-node_modules
|-src-|-conf.js
|-package.json
请参考github
中的示例项目
我正在使用 Protractor 和 jasmine-allure-reporter。执行测试后,我在 'allure-results' 中获取 XML 文件,从那里我使用命令 "allure serve allure-results" 生成 HTML 报告。执行此命令时,html 报告会在 'Temp' 文件夹 (%Temp%91932647422029\allure-report) 中生成。我想在本地 generate/save 这份报告,我该怎么做。因为测试完运行我可能要分享html的报告。你能帮我解决这个问题吗? 下面是 allure-report
的 Config.js 部分onPrepare: function() {
var AllureReporter = require('jasmine-allure-reporter');
jasmine.getEnv().addReporter(new AllureReporter());
jasmine.getEnv().afterEach(function(done){
//allure.addEnvironment(Path, 'Chrome'),
browser.takeScreenshot().then(function (png) {
allure.createAttachment('Screenshot', function () {
return new Buffer(png, 'base64')
},'image/png')();
done();
})
});
}
请按照此设置在您的本地目录中生成输出。 'Allure Command Line Tool' 将帮助您生成魅力报告。
通过运行这个命令安装它npm install allure-commandline --save-dev
之后,将 "posttest": "allure generate allure-results --clean -o allure-report"
部分添加到您的 package.json 中。因此,当 运行 使用 npm test
进行测试时, posttest
中提到的命令将在您的本地目录中生成报告。您可以参考下面 package.json
文件的示例 script
部分。
"scripts": {
"pretest": "rm -rf allure-report",
"test": "protractor conf.js",
"posttest": "allure generate allure-results --clean -o allure-report || true"
}
在 posttest
部分中,您指的是 --clean -o
部分之后的输出目录位置。
也像这样更改您的 conf.js
文件并在 resultsDir
部分添加本地目录路径以存储生成的 xml 文件。
onPrepare: function () {
var AllureReporter = require('jasmine-allure-reporter');
//allure report
jasmine.getEnv().addReporter(new AllureReporter({
resultsDir: 'allure-results'
}));
/*
* It will take screenshot after each Jasmine function 'it'
*/
jasmine.getEnv().afterEach(function (done) {
browser.takeScreenshot().then(function (png) {
allure.createAttachment('Screenshot', function () {
return new Buffer(png, 'base64')
}, 'image/png')();
done();
})
});
}
当前设置将生成 allure-results
中的所有 xml
文件和 allure-report
文件夹中的 html 报告(两者都在根目录中)。
|-allure-results
|-allure-report
|-node_modules
|-src-|-conf.js
|-package.json
请参考github
中的示例项目