热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jenkinshtmlcss,Jenkins构建后展示HTML测试报告

在构建测试自动化脚本结束后控制台默认只输出用例执行结果,以接口测试自动化为例若脚本放在Linux系统下执行,当执行完毕后要想直接查看测试报告是不方便的&

在构建测试自动化脚本结束后控制台默认只输出用例执行结果,以接口测试自动化为例若脚本放在Linux系统下执行,当执行完毕后要想直接查看测试报告是不方便的,所以想直观的看到构建完成后的报告可以在Jenkins展示

4f52c56cc2ed0dac3c830d80bf85e925.png

安装HTML Publisher plugin插件

安装方法1:

进入系统管理--管理插件--可选插件,搜索到此插件并安装:

安装方法2:

导入离线包,进入系统管理-->插件管理-->高级-->上传插件

插件下载,下载后是hpi格式

使用插件展示报告

编辑之前的项目,在“构建后操作”加入Publish HTML reports

HTML directory to archive :你的脚本输出报告保存的路径,最好填绝对路径

Index page[s] :原本报告的名称,测试报告为固定名称

c6bfb351822ecf51367b61d75919b6b4.png

配置保存后重新构建,项目中找到测试报告入口可看到html报告,如果展示为空请确认配置时的报告路径和名称

8a3ef0b07e73e9a732278e1c84278155.png

HTML报告样式无法显示

问题:Jenkins中在访问有自定义样式或动画效果的测试报告时,展示的样式往往会出乎你的想象,面目全非,样式错乱,动画无法展示等等问题。打开浏览器开发工具控制台,可以看到CSS、JS加载失败.

原因:Jenkins为了避免受到恶意HTML/JS文件的攻击, 会默认将安全策略CSP设置为: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

解决:

1.修改CSP(Content Security Policy)的默认配置,到Jenkins系统管理->脚本命令行,执行以下Groovy命令,然后点击运行

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

配置完成后,重新构建原有项目,HTML页面即可正常显示

2. 不过这只是暂时解决,jenkins重启之后配置会消失,还是只能看到无样式页面。为了解决这个问题,需要加入Startup Trigger和Groovy插件

安装Startup Trigger(jenkins节点启动时触发构建)

f1b424bf4123fa4ea8563f1b3302f168.png

安装Groovy(运行Groovy代码)

6bce2003b9e5d7d20d4e381a4ea9a33a.png

3. 新建一个Job,用于jenkins启动时执行配置命令

构造触发器中选择“Build when job nodes start”,其他不要填写

50be2a220ffd91a32c2987bbebb5e2fe.png

在构建模块选择“Execute system Groovy script”,然后维护如下代码:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

2e4b92177a7ed3bffd00d6b91d488820.png

4. 保存后重启jenkins,再次查看报告,jenkins展示个漂漂亮亮的HTML报告了

25e4b3110bedb05585ed90ced8d55054.png



推荐阅读
  • JavaScript 中创建对象的多种方法
    本文详细介绍了 JavaScript 中创建对象的几种常见方式,包括对象字面量、构造函数和 Object.create 方法,并提供了示例代码和属性描述符的解释。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
  • Jenkins 安装指南:Windows 平台详解
    本文详细介绍了如何在Windows平台上安装和配置Jenkins,包括安装步骤、启动方法及基本的系统配置,旨在帮助初次使用者顺利搭建持续集成环境。 ... [详细]
  • 持续集成概述与实践指南
    本文探讨了持续集成(CI)的基本概念、目的及其在现代软件开发中的应用。通过实例分析,帮助读者理解如何有效实施持续集成,提高软件开发效率。 ... [详细]
  • Page Object 是一种设计模式,用于实现 Selenium 的最佳实践,它通过将 Web 应用的页面展示逻辑与测试代码分离来简化测试过程。采用 Page Object 模式的主要目的是为了提高测试代码的可维护性,减少重复代码,使测试更加结构化。 ... [详细]
  • 软件项目管理实践——Jenkins持续集成与Maven、GitHub的应用
    本文详细介绍了如何利用Jenkins实现持续集成,以及Maven和GitHub在项目开发中的具体应用。包括环境搭建、工具安装、项目创建及代码管理等关键步骤。 ... [详细]
  • 基于Node.js、Express、MongoDB和Socket.io的实时聊天应用开发
    本文详细介绍了使用Node.js、Express、MongoDB和Socket.io构建的实时聊天应用程序。涵盖项目结构、技术栈选择及关键依赖项的配置。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 在PHP后端开发中遇到一个难题:通过第三方类文件发送短信功能返回的JSON字符串无法解析。本文将探讨可能的原因并提供解决方案。 ... [详细]
  • 本文详细介绍了 phpMyAdmin 的安装与配置方法,适用于多个版本的 phpMyAdmin。通过本教程,您将掌握从下载到部署的完整流程,并了解如何根据不同的环境进行必要的配置调整。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 本文将详细探讨 Linux 系统中的 netstat 命令,该命令用于查看网络状态和连接情况。通过了解 IP 地址和端口的基本概念,我们将更好地理解如何利用 netstat 命令来监控和管理网络服务。 ... [详细]
  • 使用Jenkins构建Java项目实践指南
    本指南详细介绍了如何使用Jenkins构建Java项目,包括环境搭建、工具配置以及项目构建的具体步骤。 ... [详细]
  • SonarQube自动化代码扫描的安装与集成实践
    SonarQube是一款强大的开源代码质量管理平台,支持多种编程语言。通过集成不同的开发工具和CI/CD流程,SonarQube能够提供全面的静态代码分析服务,帮助开发者早期发现并修复代码缺陷,从而提高软件质量和安全性。 ... [详细]
author-avatar
欣仪威侑扬芸_782
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有