我試着用下面的code
取screenshot
並保存在本地。但是,我想將屏幕截圖嵌入到cucumber HTML report
(這是由Jenkins
使用json
文件生成的)。如何使用量角器在Cucumberjs中嵌入屏幕截圖?
我應該在這裏添加代碼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();
});