selenium - 在 Jenkins HTML Publisher 上播放视频时出现问题
问题描述
我正在使用 Testcafe 进行项目测试,并在我的项目中生成带有屏幕截图和视频的 HTML 报告。
当我尝试使用 HTML 发布者发布报告时,视频没有播放。当我通过浏览器在 Jenkins 代理中打开生成的 HTML 文件时,视频播放正常。不确定,为什么它不在 Jenkins HTML 发布者插件上播放。
我的 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>
我尝试配置以下内容安全策略
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox; default-src '';")
不确定是什么政策阻止视频在 Jenkins 发布者上播放。
有人可以帮助解决这个问题吗?提前致谢。
解决方案
阻止您的视频播放的策略是 media-src == "none",派生自 default-src == 'none'(请参阅https://wiki.jenkins.io/display/JENKINS/Configuring+Content+Security+政策)
看看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';");
}
推荐阅读
- google-sheets-formula - 谷歌表:使用公式查找和替换/删除
- node.js - 在 nodejs 脚本中启动其他“npm run”
- javascript - 使用 HTML 拖动当尺寸很大时图像淡出
- r - 如何在r中编写冒号运算符的S3函数
- pine-script - 如何在 pine 脚本中获取图表窗口的低点和高点?
- javascript - 打字稿错误:类型中缺少属性“children”,但类型“CommonProps”中是必需的
- python - 使用pygame在python中制作一个按钮
- github - 如何防止在 master/main 上运行 GitHub 工作流
- reactjs - 如何更改反应的ui组件中的字段提示以放大传递给他一个功能组件
- ios - 重新加载集合视图时如何调用函数?