当前位置: 首页 > news >正文

Jmeter自动化测试实施方案详解

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

Jmeter是目前最流行的一种测试工具,基于此工具我们搭建了一整套的自动化方案,包括了脚本添加配置、本地配置和运行、服务器配置等内容,完成了自动化测试闭环,通过这种快捷简便高效的方式,希望可以解决自动化测试上手难的痛点。下面闲言少叙,我们直接切入实战:

一、准备自动化测试物料

1、开发运行工具Jmeter,(下载地址: Apache JMeter - Download Apache JMeter)

2、开发环境为已发布ready;

3、测试脚本已准备ready;

4、脚本运行环境已准备(fat或者uat);

二、自动化测试通过标准

1、成功Status 返回200 ;

2、失败返回404、500等;

3、每个脚本专用断言;

三、自动化脚本存储

脚本全部存储在Gitlab仓库中,(脚本的存储规范请参考:GitLab Jmeter测试包通用设计1.0版)

项目根目录新建文件夹,前面文件夹名和项目名保持一致,后缀加“-test”,如下图文件夹:

四、自动化测试Script Rules

1、脚本命名为接口名

2、存储类型为后缀jmx的文件

3、线程数设置为1(冒烟测试无需多线程并发)

4、必须包含断言判断,状态检测设定为200

五、自动化测试Script Steps

1、添加线程组,脚本命名为接口名,点击存储 为后缀jmx的文件

2、将线程数设置为1,其他设置为默认(如下图)

3、循环次数为不循环,调度器不设置,其他参数不设置(如下图)

4、配置http协议选项:

a、添加http请求,线程组右键“添加”,选择“Sampler”,再选择“HTTP请求”:

b、请求为post or get(如下图,此处根据实际情况设置为POST)

c、内容编码:UTF-8(如下图,此处根据实际情况设置为UTF-8)

d、Request报文:填入Body Data(如下图,此处根据实际情况设置Request报文内容)

5、配置断言选项,线程组右键“添加”,选择“断言”,此处选择“响应断言”。注意可以根据实际情况选择其他断言类型:

a、添加响应断言,如下图所示;

b、选择响应字段为响应代码,如下图所示;

c、匹配规则选择为包括,如下图;

d、测试模式填入200,如下图(此处为开发自定义返回码,请根据实际情况设置);

6、添加“HTTP信息头管理器” ,在测试计划点击右键“添加”菜单,选择“配置元件”,再选择“HTTP信息头管理器” (即为HTTP Header Manager),如下图:

可根据实际情况添加Content-Type等内容,例如此处value设置为:application/json,如下图范例:

7、添加“查看结果树”,在测试计划点击右键“添加”菜单,选择“监听器”,再选择“查看结果树”:

运行成功或失败,分别可以查看结果树详情,如下图所示,查看响应数据,可以看到response报文:

下图是一个运行失败结果的断言,断言失败的信息也会有详细说明:

8、添加"用表格查看结果",在测试计划点击右键“添加”菜单,选择“监听器”,选择“用表格查看结果”:

添加后每次测试计划运行结束,可以查看全部线程组的运行结果,如下图所示:

9、添加“聚合报告”,在测试计划点击右键“添加”菜单,选择“监听器”,选择“聚合报告”:

聚合报告主要用来收集本次测试计划运行的一些重要的性能指标数值,例如Average、90%Line等等,添加后每次测试计划运行结束可以查看到指标的有效数据,如下图范例:

六、本地执行

1、在当前测试计划中,根据上述范例逐一添加本次需要运行的自动化脚本,添加完成后的效果如下所示:

2、运行当前测试计划的全部用例,然后用查看全部运行结果如下:

3、同样在结果树,可以查看全部失败用例的详细报文:

七、服务器配置和运行(Jenkins/TFS)

由于job最底层调度由Jenkins实现,本小节重点介绍如何配置job参数等内容。TFS方面只需要通过接口或者命令行的方式,直接调度Jenkins即可。

1、Job命名规范,定义在Jenkins中job的命名规范,如下图所示,以“JMETER”开头后面是服务名:

2、添加构建配置,如图所示,其中devops是基于Python编写的打包脚本,/sso-support-test是Jmx脚本文件地址,report_server是邮件服务,mail是报告接收人的邮箱地址:

3、构建触发器配置:如图所示,这里配置每两分钟去轮循检查服务器是否有更新:

4、源码管理:添加并选择Git仓库,然后配置Repo地址,最后选择分支dev(非强制)

八、服务器生产自动化报告

自动化报告目前支持两种形式,邮件和Html报告查看。

1、邮件方式报告查看。服务器端配置响应接收人员的邮件地址后,每次自动化运行结束,会自动发送邮件报告到指定关注人,如下图所示:

邮件Report中主要包含以下内容:

Summary栏目:包含所有请求的总结,总数,失败数,成功率,平均时间,最小时间,最大时间等。

Pages栏目:主要包含了单个请求的详情内容:

Failure Detail:主要是错误详情相关内容:

2、Html报告查看。Html内容展示目前和邮件基本保持一致不再展开详述,如下图所示:

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

http://www.jsqmd.com/news/524873/

相关文章:

  • MATLAB实战:用BEMD算法给图像做‘CT扫描‘(附完整代码)
  • Google Colab小白必看:5分钟搞定Conda环境配置(附避坑指南)
  • 多模态探索:OpenClaw+GLM-4.7-Flash处理图片与文本混合任务
  • ADB Interface驱动安装失败?三步搞定黄色惊叹号问题
  • 【高并发内存池】第二弹---实战定长内存池:从原理到性能优化全解析
  • MCP状态同步失效的7个致命陷阱:从心跳丢包到版本错乱,一线工程师都在用的诊断清单
  • 化学结构检索省预算方案:Scifinder平替工具摩熵化学MolAid实操指南
  • 生物信息学新手必看:FASTA和FASTQ格式的5个关键区别与实战解析
  • Word论文党必看:MathType公式编号从指定章节开始的终极解决方案
  • Trae携手EIDE:重塑嵌入式开发的轻量级工作流
  • AUC与Rank loss的关系图解:从机器学习评分到ROC曲线面积计算
  • Qwen-Image-Edit-2511完整流程:手把手教你实现AI智能图片编辑
  • Unity Physics类实战解析:碰撞检测与性能优化技巧(下篇)
  • 2026年常州搬家公司优质之选:新北区搬家、天宁区搬家、钟楼区搬家、常州设备搬运、常州天喜搬家本地靠谱搬家服务典范 - 海棠依旧大
  • 别再只git push了!用GitHub Actions给你的开源项目自动加个CI/CD(附Node.js项目实战配置)
  • HUNYUAN-MT 7B本地化部署避坑指南:解决403 Forbidden等常见网络问题
  • Ubuntu 20.04下InfluxDB 1.8.6开机启动失败?手把手教你修复systemctl常见报错
  • 别再让用户等!Vue3项目打包体积从100M瘦身到30M的实战记录(附完整Vite配置)
  • 小花钱包客服咨询AI流量赋能,重塑智能体验新标杆 - 王老吉弄
  • 从霍尔状态到精准调速:深入解析速度电流双闭环控制(一)
  • Issac Sim+VScode高效开发:5个提升调试效率的隐藏技巧(含RL案例)
  • Linux 系统编程入门:从文件 IO 到标准库,一篇就够
  • 食品加工污水厂升级三相分离器优质品牌推荐:反硝化菌、可提升旋流曝气器、好氧菌、射流曝气器、微孔曝气器、微生物菌剂选择指南 - 优质品牌商家
  • 企业网络实战:基于VLAN与单臂路由的多部门互联仿真实验
  • Step3-VL-10B-Base开发环境搭建:从Git克隆到ComfyUI可视化流程
  • 2026年3月常州搬家公司最新推荐:居民搬家、搬厂、设备搬运、同城搬家、溧阳搬家、金坛区搬家、武进搬家、新北区搬家等场景选择指南 - 海棠依旧大
  • MogFace开源模型实战教程:基于ONNX Runtime的跨平台推理加速方案
  • Python海龟绘图动画教程:如何用turtle模块制作颜色变化效果
  • TB6612FNG双路H桥驱动模块在GD32F470上的移植与优化
  • 2026年长沙殡仪服务优质机构推荐:殡葬服务一条龙、殡仪一条龙、白事一条龙、长沙慈恩殡仪服务、人文殡葬服务践行者 - 海棠依旧大