我是Protractor的新手并试图弄清楚当我的测试失败时如何拍摄屏幕截图..我已经尝试过使用protractor-jasmine2-screenshot-reporter但它似乎无法正常工作.. 有人使用不同的插件吗?或者知道为什么上面的那个没有?
感谢。
答案 0 :(得分:0)
来自http://www.protractortest.org/#/debugging#taking-screenshots
// at the top of the test spec:
var fs = require('fs');
// ... other code
// abstract writing screen shot to a file
function writeScreenShot(data, filename) {
var stream = fs.createWriteStream(filename);
stream.write(new Buffer(data, 'base64'));
stream.end();
}
// ...
// within a test:
browser.takeScreenshot().then(function (png) {
writeScreenShot(png, 'exception.png');
});
答案 1 :(得分:0)
最终我发现了一些帮助我的gitHub回购。 如果有人遇到解决问题的问题,您可以使用:
https://gist.github.com/jlouros/190d654850f8e2ed7b51ed6267f30400
非常适合我。
答案 2 :(得分:0)
运行以下命令以安装Protractor html ScreenShot报告
$ npm install protractor-html-screenshot-reporter --save-dev
在使用
更新Protractor.conf.js之后 var Jasmine2HtmlReporter = require('/usr/lib/node_modules/protractor-jasmine2-html-reporter');
onPrepare() {
jasmine.getEnv().addReporter(
new Jasmine2HtmlReporter({
savePath: 'Mention location of your test result',
fileName: 'Test Result',
fileNameDateSuffix: true ,
takeScreenShotsOnlyForFailedSpecs: true,
}),
new SpecReporter({ spec: { displayStacktrace: true } })
);
在这个位置,它将创建一个名为" ScreenShots"的隔行文件夹。并保存所有屏幕截图
"savePath: 'Mention location of your test result'"