分享如何通过定时任务调用lighthouse前端测试脚本+在持续集成测试中调用lighthouse前端测试脚本

最近写了个小工具来优化lighthouse在实际工作中的使用,具体实现了:通过定时任务调用前端测试脚本+在持续集成测试中调用前端测试脚本。由于在公司中已经应用,所以就不能提供源码了,这里简单说一下实现思路,希望可以帮助大家!大家也可以通过我提供的实现思路,自己上手写个小工具来提升一下自己的代码能力!

实现思路

核心:定时任务执行python调用lighthouse +nginx搭建http服务器+playwright报告统计

lighthouse的基础使用可以参考文章:

详解前端页面性能测试方案——开源工具Lighthouse_lighthouse前端性能优化测试工具插件-CSDN博客

python中调用lighthouse 的核心代码实现如下

os.system( 'lighthouse '+ url+' --quiet --chrome-flags="--headless" --only-categories=performance --locale=zh-CH --output-path='+reuslt_folder+"/"+name+'_'+datetime.datetime.now().strftime('%Y-%m-%d-%H-%M-%S')+'.html&&cls')

关于lighthouse通过命令行运行的方法可以参考文章:

详解lighthouse通过命令行方式运行并生成html测试报告的方法-CSDN博客

nginx搭建http服务器的方法可以参考文章

干货!分享Nginx搭建web测试报告服务器的落地方案-CSDN博客

实现效果

每执行一次都会生成一个以当前日期命名的目录如下:

测试人员在执行过程中,只需要编辑url.xlsx即可,写入想要测试的url和具体的页面名称,在后续的调用过程中就会对url进行前端性能测试

点击具体的日期目录,可以查看测试执行详情,一个url将会生成一个测试报告

由于用nginx搭建了http服务器,这些html报告都是可以通过http协议进行访问的!

statistics_result_*.xlsx统计测试详情,会汇总当前目录下html中的重要信息,效果如下:

关于python对excel 的处理方法可以参考文章:

详解xlsxwriter 操作Excel的常用API-CSDN博客

详解xlswriter 操作Excel的高级应用conditional_format-CSDN博客

另外在统计lighthouse的html测试报告时,获取如下属性

performace(分数)、firstContentfulPaint(秒)、largestContentfulPaint(秒)、totalBlockingTime(豪秒)、cumulativeLayoutShift(秒) 、speedIndex(秒)

是通过playwright headless方式来实现的,实现也是非常的方便!

在持续集成测试中调用lighthouse脚本

最后就可以设置定时任务或者在持续集成测试中调用lighthouse进行前端性能测试了!

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/632699.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

武汉星起航:亚马逊跨境电商助力全球贸易:卖家轻松触达全球市场

作为全球最大的电子商务平台之一,亚马逊以其强大的品牌影响力和完善的服务体系,为全球卖家提供了一个展示和销售各类商品的广阔舞台。亚马逊跨境电商业务的快速发展,不仅为卖家打开了通向全球市场的大门,也为买家带来了更多元化、…

JS+JQ+Layui菜单栏点击URL跳转后保持选中状态

目录 一.问题描述 二.问题分析 三.问题解决 3.1JQuery解决 3.2原生JS解决 四.衍生问题 五.衍生问题解决方式 5.1JQ解决 5.2JS解决 六.效果 七.建议 一.问题描述 后端使用“Flask”开发 最近在开发个人网站,其中使用了“Layui”组件库来做“菜单导航栏…

Nginx日志格式配置

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Nginx(“engine x”…

数据库SQL语言实战(九)(索引)

目录 1实战目标 2前提知识 2.1索引失效的情况 2.1.1数据准备 2.1.2插入数据 2.1.3失效情况 3练习题(利用索引提高查询速度) 题目一 题目二​ 题目三​ 题目四​ 题目五​ 总结 1实战目标 对比有无索引情况下数据检索速度,学会如何能够使用索引,掌握如何…

130.哈希表:赎金信(力扣)

题目描述 代码解决 class Solution { public:bool canConstruct(string ransomNote, string magazine) {// 创建一个大小为26的整数数组,用于存储每个字母在magazine中的出现次数int hash[26] {0};// 遍历magazine,将每个字母的出现次数记录在hash数组…

The 13th Shandong ICPC Provincial Collegiate Programming Contest

The 13th Shandong ICPC Provincial Collegiate Programming Contest The 13th Shandong ICPC Provincial Collegiate Programming Contest A. Orders 题意:有n个订单, 每日可生产k个产品,每个订单给出交付日和交付数量,是否能…

谈谈【软件测试的基础知识,基础模型】

关于软件测试的基本概念和基本模型 前言一个优秀的测试人员具备的素质关于需求测试用例软件错误(BUG)概念开发模型瀑布模型(Waterfall Model)螺旋模型(Spiral Model) 前言 首先,什么是软件测试? 通俗来讲:软件测试就是找BUG&…

Vitis HLS 学习笔记--优化本地存储器访问瓶颈

目录 1. 简介 2. 代码解析 2.1 原始代码 2.2 优化后 2.3 分析优化措施 3. 总结 1. 简介 在Vitis HLS中,实现II(迭代间隔) 1是提高循环执行效率的关键。II1意味着每个时钟周期都可以开始一个新的迭代,这是最理想的情况&…

Java面试八股之HashSet和TreeSet有什么区别

Java中HashSet和TreeSet有什么区别 1. 底层数据结构 HashSet: 基于哈希表(实际上是 HashMap 的内部实现)实现。每个元素通过其 hashCode() 方法计算出哈希码,并通过哈希码确定其在哈希表中的位置。这种结构使得 HashSet 在插入、删除和查找…

Win11下Java环境安装指南

Windows下Java环境安装指南 前言一、安装简介JDK与JRE安装包 二、JDK安装检查操作系统类型基于Win11基于Win10 安装包准备工作 三、配置环境配置JAVA_HOME配置Path配置CLASSPATH 四、检验配置是否打开cmd命令行窗口输出java -version命令 五、注意事项 前言 在Windows系统上安…

数据结构-栈(带图)

目录 栈的概念 画图理解栈 栈的实现 fun.h fun.c main.c 栈的概念 栈(Stack)是一种基本的数据结构,其特点是只允许在同一端进行插入和删除操作,这一端被称为栈顶。遵循后进先出(Last In, First Out, LIFO&#…

yarn : 无法加载文件 C:\app\nodejs\node_global\yarn.ps1,因为在此系统上禁止运行脚本

系统运行yarn命令报错 解决办法: 一、点击电脑右下角的开始,菜单出来后,直接按键盘输入powerShell搜索,然后右键以管理员身份运行 二、以管理员运行后,会出现下面命令窗口 在窗口上执行:set-ExecutionPoli…

羊大师分析,羊奶健康生活的营养源泉

羊大师分析,羊奶健康生活的营养源泉 羊奶,作为一种古老的饮品,近年来因其独特的营养价值和健康益处而备受关注。今天,羊大师就来探讨一下羊奶与健康之间的紧密联系。 羊奶富含蛋白质、脂肪、维生素和矿物质等多种营养成分。羊奶…

哪家PMP培训机构比较优秀?

不同的培训机构在服务、收费和师资上会有一些差异,但基本都差不多。老师的授课方式对学习兴趣很重要,价格在3000-4000左右,选择中间价位比较好。服务也很关键,有的机构提供代报名和PDU等额外服务。关于机构排名的文章可以参考&…

InnoDB 事务处理机制

文章目录 前言1. 事务处理挑战1.1 事务机制处理的问题1.2 并发事务带来的问题 2. InnodDB 和 ACID 模型2.1 Innodb Buffer Pool2.2 Redo log2.3 Undo log2.4 应用案例 3. 隔离级别和锁机制3.1 事务隔离级别3.1.1 READ UNCOMMITTED3.1.2 READ COMMITTED3.1.3 REPEATABLE READ3.1…

CCF20181201——小明上学

CCF20181201——小明上学 代码如下&#xff1a; #include<bits/stdc.h> using namespace std; int main() {int r,y,g,n,k[101],t[101],sum0;cin>>r>>y>>g;cin>>n; for(int i0;i<n;i){cin>>k[i]>>t[i];if(k[i]0||k[i]1)sumt[i];…

Linux中的计划任务(crontab)详解

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Linux &#xff1a;从菜鸟到飞鸟的逆袭》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、前言 1、Linux的起源与发展 2、什么是计划任务&#xf…

Xilinx RAM IP核的使用及注意事项

对于RAM IP核(Block Memory Generator核)的使用以及界面的配置介绍&#xff0c;文章RAM的使用介绍进行了较详细的说明&#xff0c;本文对RAM IP核使用中一些注意的地方加以说明。 文章目录 三种RAM的区别单端口RAM(Single-port RAM)简单双端口RAM(Simple Dual-port RAM)真双端…

供应链投毒预警 | 开源供应链投毒202404月报发布(含投毒案例分析)

概述 悬镜供应链安全情报中心通过持续监测全网主流开源软件仓库&#xff0c;结合程序动静态分析方式对潜在风险的开源组件包进行动态跟踪和捕获&#xff0c;发现大量的开源组件恶意包投毒攻击事件。在2024年4月份&#xff0c;悬镜供应链安全情报中心在NPM官方仓库&#xff08;…

翻译《The Old New Thing》- Stupid debugger tricks: Calling functions and methods

Stupid debugger tricks: Calling functions and methods - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20070427-00/?p27083 Raymond Chen 2007年04月27日 一个比较笨的调试技巧&#xff1a;调用函数和方法 在过去&#xff0c;如果你想在…