在Jenkins上运行时,CucumberJS / Protractor构建结果报告未显示屏幕截图

时间:2016-08-04 16:15:23

标签: selenium jenkins protractor cucumberjs

我正在使用CucumberJS / Protractor,并成功设法在失败时生成带有屏幕截图的html报告(将截屏图像编码为base64之后)。这是在本地机器上。但是,由于内容安全设置,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 个答案:

答案 0 :(得分:1)

你可以尝试这样的事情 -

 $checkDuplicates = $db->query("SELECT * FROM playlist_songs WHERE playlist_name='$playlist_name' AND song_name='$song_title'");
    $numDuplicates = $checkDuplicates->num_rows;

    if($numDuplicates == 0) {
      echo "<div id='playlist_name'> <span song='$song_title'> $playlist_name </span> </div>";
    }

 }

 echo  "<div id='playlist_name2'> <span id='playlist_input_errors'></span> <input id='playlist_input' placeholder='Create new Playlist' song='$song_title'> </div> </div> </div> </div>";

      }

      ?>

如果要禁用 if (scenario.isFailed()) { browser.takeScreenshot().then(function (base64png) { var decodedImage = new Buffer(base64png, 'base64').toString('binary') scenario.attach(decodedImage, 'image/png'); }); } ,可以在脚本控制台中禁用它们(通过执行以下两个脚本来管理jenkins) -

content security settings