在Jenkins HTML Publisher上播放视频的问题

问题描述 投票:1回答:1

我正在使用Testcafe进行项目测试,并在项目中生成带有屏幕截图和视频的HTML报告。

[当我尝试使用HTML发布者发布报告时,该视频无法播放。当我通过浏览器在Jenkins代理中打开生成的HTML文件时,视频可以正常播放。不确定,为什么它不能在Jenkins HTML Publisher插件上播放。

我的HTML视频代码如下所示

<div class="row">
   <div class="column">
      <img id="myImg" class="errImage" src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAABAAAA" style="width:100%;">  
   </div>
   <div class="column">
      <video autoplay muted loop controls id="errorVideo" style="width:99%">
         <source src="C:\Program Files (x86)\Jenkins\workspace\Free style node test\e2e\artifacts\videos\Getting Started\My First Test\1.mp4" type="video/mp4">
      </video>
   </div>
</div>

Jenkins HTML Publisher的报告屏幕截图:

enter image description here

通过浏览器的报告屏幕截图:

enter image description here我尝试配置以下内容安全策略

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox; default-src '';")

不确定是什么政策阻止了视频在Jenkins发布者上的播放。

有人可以帮助解决此问题吗?提前致谢。

selenium jenkins jenkins-plugins ui-automation testcafe
1个回答
0
投票

阻止视频播放的策略是media-src ==“ none”,源自default-src =='none'(请参阅https://wiki.jenkins.io/display/JENKINS/Configuring+Content+Security+Policy

[查看https://github.com/jenkinsci/screenrecorder-plugin/blob/master/src/main/java/org/jenkinsci/plugins/screenrecorder/ScreenRecorderBuildWrapper.java中的解决方案,它可能对您有用:

String curCsp = System.getProperty("hudson.model.DirectoryBrowserSupport.CSP","");
if (!curCsp.contains("media-src"))
{
       System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", curCsp + ";media-src 'self';");
}
© www.soinside.com 2019 - 2024. All rights reserved.