Jenkins配置测试报告后无法正常显示或显示空白 的解决方法(问题集锦)

简介: Jenkins配置测试报告后无法正常显示或显示空白 的解决方法(问题集锦)

现象1:界面样式错乱

  • 打开报告后,界面样式错乱,如下:
    在这里插入图片描述

    原因分析

  • 出现该现象的原因在于Jenkins中配置的CSP(Content Security Policy)
  • 这是Jenkins的一个安全策略,默认会设置为一个非常严格的权限集,以防止Jenkins用户在workspace、/userContent、archived artifacts中受到恶意HTML/JS文件的攻击;
  • 该权限集默认会设置为:
sandbox; default-src 'none'; img-src 'self'; style-src 'self';
  • 默认情况下,只允许加载:
Jenkins服务器上托管的CSS文件
Jenkins服务器上托管的图片文件
  • 此时以下内容会被禁止:
JavaScript
plugins (object/embed)
HTML中的内联样式表(Inline style sheets),以及引用的外站CSS文件
HTML中的内联图片(Inline image definitions),以及外站引用的图片文件
frames
web fonts
XHR/AJAX
etc.

临时策略

  • 进入Manage Jenkins->Script console,输入如下命令并进行执行;
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
  • 如下:
    在这里插入图片描述
  • 当输入命令,并运行后,如果为空,则说明配置好了,如下:
    在这里插入图片描述
  • 再次进行构建,此时界面样式显示OK了,如下:
    在这里插入图片描述
  • 以上操作对之前构建生成的HTML报告有效,且只是临时生效,当重启Jenkins后,Content Security Policy又会恢复为默认值,从而HTML样式又没法展示了。

    永久策略

  • 安装Groovy插件,如下:
    在这里插入图片描述
  • 依次进入项目-配置-Execute Groovy script
    在这里插入图片描述
  • 输入以下内容,保存即可:
    System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
    
    在这里插入图片描述

    现象2:报告路径不存在

  • 比如在构建的时候提示报告路径不存在,需要手动创建,错误信息如下:
Jenkins - HTML Publisher Plugin build fails with report directory doesnot exist

原因分析

  • 要么远程仓库的项目目录下没有你设置的报告目录;
  • 要么你设置的报告目录和仓库中存放的报告路径不一致。

解决策略

  • Jenkins上设置好报告存放的目录,如下是项目根目录下的reports目录:
    在这里插入图片描述
  • 然后确认仓库中项目的目录下是否有相同的目录:
    在这里插入图片描述
  • 如上我的仓库中是report,那么两者是需要一致的,要么是report,要么都是reports
  • 最后确认jenkins容器中的项目目录是否下载或同步成功。可以进入到jenkins容器中查看,命令如下:
sudo docker exec -it jenkins bash
 ls /var/jenkins_home/workspace/test_autoui -ls
# /var/jenkins_home/workspace/:这是jenkins容器上项目的工作空间
# test_autoui:这是我的项目名称,改为自己的即可

在这里插入图片描述

  • 从上可以看到有report目录,查看里边的报告:
    在这里插入图片描述
  • 只有确保了以上几点一致,才能正常显示报告,因为构建的时候控制台的信息已经给出了提示,它是从某个目录拷贝到零一一个目录:
    在这里插入图片描述

现象3:docker和操作系统版本不匹配

  • 以上两个现象都解决了,但是仍然不显示报告,报告页面数据直接显示空白;

原因分析

  • 查看构建时控制台的输出错误信息:
    在这里插入图片描述
  • 即错误信息为:
lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by docker)
  • 这个是因为docker版本和操作系统版本不匹配,我的环境是:
docker:最新版本
Ubuntu:22.04
  • 经过查阅磁资料,是因为Ubuntu:22.04的问题,需要使用Ubuntu18.04、Ubuntu20.04都可以。

解决策略

  • 重装系统,比如使用Ubuntu18.04、Ubuntu20.04
目录
相关文章
|
1天前
|
缓存 Java 测试技术
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
13 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
|
1月前
|
人工智能 Ubuntu Linux
os-copilot使用之全面配置与使用测试
作为一名个人开发者,我主要从事云服务器架设工作。近期,我成功使用了OS Copilot的 `-t -f |` 功能,解决了执行语句、连续提问及快速理解文件的问题。我发现这些功能非常实用,特别是在使用Workbench时能快速调用AI助手。此外,建议将AI功能与xShell工具联动,进一步提升效率。文中详细记录了购买服务器、远程连接、安装配置OS Copilot以及具体命令测试的过程,展示了如何通过快捷键和命令行操作实现高效开发。
135 67
|
1月前
|
运维 关系型数据库 MySQL
os-copilot安装_配置_功能测试全集
我是一位中级运维工程师,我平时工作会涉及到 各类服务器的 数据库 与 java环境配置 操作。 我顺利使用了OS Copilot的 -t -f | 功能,我的疑惑是不能在自动操作过程中直接给与脚本运行权限,必须需要自己运行一下 chmod 这个既然有了最高的权限,为什么就不能直接给与运行权限呢。 我认为 -t 功能有用,能解决后台运行基础命令操作。 我认为 -f 功能有用,可以通过task文件中撰写连续任务操作。 我认为 | 对文件理解上有很直接的解读,可以在理解新程序上有很大帮助。
168 86
|
1月前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
36 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
2月前
|
移动开发 jenkins 持续交付
jenkins配置git
通过上述步骤,您可以在 Jenkins 中成功配置 Git,从而实现自动拉取代码并进行构建和部署。这些配置不仅提高了开发效率,还保证了代码的连续集成和交付。确保每一步配置正确,以避免在实际使用中遇到问题。
129 1
|
2月前
|
域名解析 弹性计算 监控
slb测试基本配置检查
slb测试基本配置检查
123 60
|
2月前
|
监控 负载均衡 容灾
slb测试配置
slb测试配置
53 5
|
3月前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
228 60
|
3月前
|
安全 jenkins 持续交付
如何在 Jenkins 中配置邮件通知?
如何在 Jenkins 中配置邮件通知?
174 11
|
3月前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
240 1

热门文章

最新文章