Я использую CucumberJS/Protractor и успешно могу сгенерировать html-отчет со снимками экрана после сбоя (после кодирования снимка экрана снизу до base64). Это на локальной машине. Однако Дженкинс не вставляет это изображение в отчет из-за настроек безопасности контента. Конечно, я не хочу компрометировать безопасность на сервере сборки, есть ли способ обойти эту проблему? Ниже приведен код сохранения снимка экрана.Отчет о результатах сборки CucumberJS/Protractor, не показывающий скриншот при запуске на Jenkins
if (scenario.isFailed()) {
browser.takeScreenshot().then(function (png) {
var decodedImage = new Buffer(png.replace(/^data:image\/(png|gif|jpeg);base64,/,''), 'base64');
scenario.attach(decodedImage, 'image/png');
});
}
Создание скриншота не проблема - на самом деле код, который вы опубликовали, не работает в текущей версии CucumberJS. Это приводит к повреждению изображения. Проблема конкретно связана с вставкой изображения в отчет, на сервере сборки Jenkins. Что-то, что работает нормально, когда я запускаю локально. Проблема Jenkins сообщает, что действие вставки изображения в HTML противоречит настройкам безопасности контента. Я спрашивал о том, как справиться с этим, а не как создать скриншот. – jaffamoney
Это работает для меня, и я использую последние cucumberjs в любом случае, даже если бы я столкнулся с проблемой «настроек безопасности контента» с новыми версиями jenkins, на которые они применили ограничения только для решения, о которых я мог подумать, это их отключить, и поскольку вы сказали его на своей локальной машине i думаю, что это не вызовет каких-либо проблем безопасности. просто проверьте мой ответ на вопрос о том, как отключить их. –