I am new to the protractor and would like to take screenshots of my failed test cases in browsers.
Can you please help me out by advising how should I go about it?
Thank you :)
I am new to the protractor and would like to take screenshots of my failed test cases in browsers.
Can you please help me out by advising how should I go about it?
Thank you :)
You can use protractor-jasmine2-screenshot-reporter
module for this, it has some good features which would serve your purpose.
var HtmlScreenshotReporter = require('protractor-jasmine2-screenshot-reporter');
var reporter = new HtmlScreenshotReporter({
dest: 'target/screenshots',
filename: 'my-report.html',
captureOnlyFailedSpecs: true
});
This will capture screenshots when your specs have failed, you have many more options, you can checkout this link : https://www.npmjs.com/package/protractor-jasmine2-screenshot-reporter
Please have a look on this chunk of code. In this code we are registering screenshot function properly with jasmine reporter. Its works for me.
onPrepare: function() {
jasmine.getEnv().addReporter({
specDone: function(result) {
browser.takeScreenshot().then(function(screenShot) {
// Saving File.
// Param filePath : where you want to store screenShot
// Param screenShot : Screen shot file which you want to store.
fs.writeFile(filePath, screenShot, 'base64', function (err) {
if (err) throw err;
console.log('File saved.');
});
});
}
});
}
I hope it helps! :)
Reference link