Jmeter+Jenkins接口压力测试持续集成

ops/2025/2/21 5:21:49/

 项目介绍

  • 接口功能测试应用:
    http://www.weather.com.cn/data/cityinfo/<city_code>.html

  • 测试功能:获取对应城市的天气预报

  • 请求方法:Get

  • 压测脚本开发工具:jmeter

  • 源码脚本位置:
    https://github.com/shifengboy/iInterface_python/blob/master/jmx/iInterface.jmx

源功能点

  • 将Jmeter压测任务集成到Jenkins

  • 通过Jenkins运行Jmeter任务

  • 在Jenkins上展示Jmeter压测报告

项目配置

1、新建一个自由风格任务

图片

2、添加git源码库地址

可自行添加自己的代码仓库地址

图片

3、添加自动化压测运行代码

图片

添加如下构建命令

. ~/.bash_profile
cd iInterface_python/jmx
sh auto_stress_test.sh 

该命令可根据自己的实际项目进行添加

4、导出压测报告

在Post-build Actions(构建后操作)中添加 Publish HTML reports

图片

需要注意的是,Jenkins出于的全策略的原因,会限制js脚本的渲染,默认生成的报告打开后会有样式问题,如下图:

图片

需要解除该限制

具体解除限制的方法有

1、临时解决方案(重启Jenkins失效):在系统管理->脚本命令行:

图片

执行:

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

点击运行

图片

2、永久解决方案:
1).安装Groovy Postbuild 插件
该插件可能不是很好下载,若出现无法下载的情况,可访问我的百度网盘:
https://pan.baidu.com/s/1qZ5csambF2yYyzpywO871Q
提取码: xh6d
进行下载后,放在Jenkins的plugins目录下重启即可

2).进入任务->配置->构建->增加构建步骤 Groovy Postbuild,Groovy Script填写:

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

之后保存

图片

5、发送邮件

在Post-build Actions(构建后操作)中添加 Editable Email Notification

图片

注:Editable Email Notification插件安装后需要系统管理-系统配置 Extended E-mail Notification选项中进行设置好后才能正常使用

图片

图片

图片

设置完成后,保存,构建

图片

报告:

图片

邮件:

图片


http://www.ppmy.cn/ops/160157.html

相关文章

黑盒测试和白盒测试的主要优缺点

黑盒测试 vs. 白盒测试&#xff1a;优缺点对比 类别黑盒测试&#xff08;Black-box Testing&#xff09;白盒测试&#xff08;White-box Testing&#xff09;定义不关注代码实现&#xff0c;仅测试功能和输入输出关注代码逻辑&#xff0c;测试代码内部实现测试依据需求文档、功…

Linux系统编程之高级信号处理

概述 在前一篇文章中&#xff0c;我们介绍了signal函数、sigaction函数等基本的信号处理方法。在本篇中&#xff0c;我们将介绍信号处理的一些高级用法&#xff0c;包括&#xff1a;阻塞与解除阻塞、定时器等。 阻塞与解除阻塞 有时候&#xff0c;我们不希望某个信号立即被处理…

【JAVA工程师从0开始学AI】,第四步:闭包与高阶函数——用Python的“魔法函数“重构Java思维

副标题&#xff1a;当严谨的Java遇上"七十二变"的Python函数式编程 历经变量战争、语法迷雾、函数对决&#xff0c;此刻我们将踏入Python最迷人的领域——函数式编程。当Java工程师还在用接口和匿名类实现回调时&#xff0c;Python的闭包已化身"智能机器人"…

面试题之介绍下call,apply,bind相同点和不同点

call、apply 和 bind 是 JavaScript 中用于改变函数执行时 this 指向的方法。 1. call 方法 call 方法允许你调用一个函数&#xff0c;并显式地指定函数内部的 this 值&#xff0c;同时可以传递参数。 语法&#xff1a; JavaScript复制 function.call(thisArg, arg1, arg2…

【大语言模型_3】ollama本地加载deepseek模型后回答混乱问题解决

背景&#xff1a; 本地下载了DeepSeek-R1-Distill-Qwen-7B模型后&#xff0c;通过ollama create DeepSeek-R1-Distill-Qwen-7B -f ds7b.mf加载模型启动后回答混乱&#xff0c;无法使用。 解决方法 重新下载模型&#xff0c;选择了DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.gguf 重…

部署前端项目

前端项目部署是指将前端应用程序从开发环境转移到生产环境的过程&#xff0c;涉及上传代码和资源文件至服务器并确保其正确运行&#xff0c;以下是详细步骤&#xff1a; 一、前期准备 检查项目依赖&#xff1a;确保项目的所有依赖都已正确安装&#xff0c;并更新到最新版本。常…

手写简易RPC(实践版)

首先了解rpc rpc-远程过程调用&#xff0c;openFeign&#xff0c;Dubbo都可以算作rpc&#xff0c;以微服务来具体说明&#xff0c;就是在本地不需要去发送请求&#xff0c;通过rpc框架&#xff0c;像调用本地方法一样调用其他服务的方法&#xff0c;本质上还是要经过网络&…

Unity之Serialized序列化:从原理到实践

内容将会持续更新&#xff0c;有错误的地方欢迎指正&#xff0c;谢谢! Unity之Serialized序列化&#xff1a;从原理到实践 TechX 坚持将创新的科技带给世界&#xff01; 拥有更好的学习体验 —— 不断努力&#xff0c;不断进步&#xff0c;不断探索 TechX —— 心探索、心…