2016-08-04 7 views
0

Я использую 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'); 
    }); 
    } 

ответ

1

Вы могли бы попробовать что-то вроде this-

if (scenario.isFailed()) { 
    browser.takeScreenshot().then(function (base64png) { 
    var decodedImage = new Buffer(base64png, 'base64').toString('binary') 
    scenario.attach(decodedImage, 'image/png'); 
    }); 
    } 

Если вы хотите отключить content security settings вы можете отключить их в сценария консоли (управление Jenkins), выполнив следующие два scripts-

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';") 

System.setProperty("jenkins.model.DirectoryBrowserSupport.CSP", "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';”) 
+0

Создание скриншота не проблема - на самом деле код, который вы опубликовали, не работает в текущей версии CucumberJS. Это приводит к повреждению изображения. Проблема конкретно связана с вставкой изображения в отчет, на сервере сборки Jenkins. Что-то, что работает нормально, когда я запускаю локально. Проблема Jenkins сообщает, что действие вставки изображения в HTML противоречит настройкам безопасности контента. Я спрашивал о том, как справиться с этим, а не как создать скриншот. – jaffamoney

+0

Это работает для меня, и я использую последние cucumberjs в любом случае, даже если бы я столкнулся с проблемой «настроек безопасности контента» с новыми версиями jenkins, на которые они применили ограничения только для решения, о которых я мог подумать, это их отключить, и поскольку вы сказали его на своей локальной машине i думаю, что это не вызовет каких-либо проблем безопасности. просто проверьте мой ответ на вопрос о том, как отключить их. –

 Смежные вопросы

  • Нет связанных вопросов^_^