Я попытался с нижним code
взять screenshot
и сохранить его локально. Но, я хочу вставить скриншот в cucumber HTML report
(который генерируется Jenkins
с использованием файла json
).Как вставить снимок экрана в Cucumberjs с помощью Protractor?
Какой код я должен добавить здесь для embedding
, который должен отразить в моем файле отчета json
, чтобы получить эту ссылку в сообщении HTML
? Пожалуйста, предложите.
Мой код:
module.exports = function stepResultHooks() {
var fs = require('fs'), dir = 'features/screenShots/';
this.StepResult(function (event, callBack) {
var stepResult = event.getPayloadItem('stepResult'), step = stepResult.getStep();
if (stepResult.isFailed()) {
browser.takeScreenshot().then(function (png) {
browser.getCapabilities().then(function (capabilities) {
var browserName = capabilities.caps_.browserName;
var browserVersion = capabilities.caps_.version;
var stream, fname;
fname = 'Screenshot' + '_' + 'Failed Step' + '_' + step.getName() + '_' + browserName.toUpperCase()+'_'+browserVersion+'_' + new Date() + '.png';
fname = fname.replace(/"|'|\//g, '').replace(/\s|:|>/g, '_');
stream = fs.createWriteStream(dir + fname);
stream.write(new Buffer(png, 'base64'));
stream.end();
});
}).then(callBack);
} else callBack();
});