热门标签 | 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



推荐阅读
  • ASP.NET 进度条实现详解
    本文介绍了如何在ASP.NET中使用HTML和JavaScript创建一个动态更新的进度条,并通过Default.aspx页面进行展示。 ... [详细]
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • 本文探讨了如何利用RxJS库在AngularJS应用中实现对用户单击和拖动操作的精确区分,特别是在调整区域大小的场景下。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • JavaScript 页面卸载事件详解 (onunload)
    当用户从页面离开时(如关闭页面或刷新页面),会触发 onunload 事件,此时可以执行预设的脚本。需要注意的是,不同的浏览器对 onunload 事件的支持程度可能有所不同。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • publicclassBindActionextendsActionSupport{privateStringproString;privateStringcitString; ... [详细]
  • 本文详细介绍了在Windows系统中如何配置Nginx以实现高效的缓存加速功能,包括关键的配置文件设置和示例代码。 ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • 在使用 Nginx 作为服务器时,发现 Chrome 能正确从缓存中读取 CSS 和 JS 文件,而 Firefox 却无法有效利用缓存,导致加载速度显著变慢。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
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社区 版权所有