大话jmeter,带你了解jmeter的基础用法
性能测试
所谓的性能测试要在功能测试之后。
-
功能测试:关注能不能用
-
性能测试:关注好不好用
常见的性能关注点有:
-
接口响应时间:50毫秒 ~ 1000毫秒
-
吞吐量:1000万每天,2000万每天 ......10亿每天
-
TPS:Transaction Per Second 事务处理能力,每秒处理事物数(打开页面、登录、选择商品、加入购物车、下单、付款)
注意:“日活”每日活跃用户数,是个运营数据,跟性能没有必然关联性
Jemter是什么?
用更准确的话说,压力测试包括:
-
Spike testing:短时间的极端负载测试
-
Extreme testing:在过量用户下的负载测试
-
Hammer testing:连续执行所有能做的操作
开源免费只是众多优点之一,jmeter有以下几个优点:
-
开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件
-
支持接口测试,压力测试等多种功能,支持录制回放,入门简单
-
相较于自己编写框架或其他开源工具,有较为完善的UI界面,便于接口调试
-
多平台支持,可在Linux,Windows,Mac上运行
下载:binary可运行文件包
贴心提醒:
官网下载规律:
首页 -> Download -> 版本号 -> binaries,因为binaries代表已经编译完,source是还未编译的源码。
jemeter包含哪些功能模块
主要功能模块
-
取样器:进行脚本逻辑控制。
-
线程组:压测场景控制。
-
监视器:监控压测运行,获取性能指标。
录 制
步骤一:
-
打开 JMeter
-
添加 “HTTP(S) Test Script Recorder”
步骤二:
- 添加“Thread Group”
步骤三:
- 在 Thread Group中添加“Recording Controller”
在jmeter中设置端口,你可以打开 HTTP(S) Test Script Recorder:比如设定 Port =
8088与此同时,你也可以指定录制保存到哪个controller 比如设定 Target Controller = Test Plan > Tread
Group > Recording Controller
设置浏览器端口,你要打开浏览器,将浏览器的代理服务器地址指向 http://localhost:8088
开始录制:单击HTTP(S) Test Script Recorder中的Start按钮,打开代理
单击弹框中的确定按钮
JMeter的录制代理将会开启
在对应的浏览器中访问百度新闻网站
切换到国际频道
切换到财经频道
停止JMeter的代理服务
我们可以利用正则表达式排除一些静态资源在http(s) Test Script Recoder下找到Requests Filtering
添加“include”与 “Exclude”URL 正则匹配表达式
-
Include:.\.(baidu\.com).
-
Exclude:.\.(js|css|PNG|jpg|ico|png|gif).
当我们录制完毕,你可以添加result tree看请求和响应的细节:添加 View Results Tree
如果你想对录制进行回放,点击左上角的绿色三角:
在压测过程,要例证请求/响应的正确性
-
断言的实际值与设定值相符 -> 成功
-
断言的实际值与设定值不相符 -> 失败
右键单击对应的 HTTP Request,添加 Response Assertion
将校验条件添加到响应断言中比如:响应文本内容是否包含某个字符串或者http响应码是不是200
你可以在 View Results Tree 中查看结果,结果如果错误(设置响应码为2001),会报以下的错误
比如设置:
-
并发数:10
-
持续时间:30秒
当一切都设置完毕,点击运行,我们发现结果井然有序。
添加聚合压测报告 – Aggregate Report
以下是聚合报告的结果
-
Average:单个请求的平均响应时间
-
Median:中位数,也就是50%用户的响应时间
-
90%Line:90%用户的响应时间
-
95%Line:95%用户的响应时间
-
99%Line:99%用户的响应时间
-
Min:最小的请求响应时间
-
Max:最大的请求响应时间
-
Error%:错误率
-
Throughput:吞吐量
-
Received KB/sec:每秒从服务器端接收到的数据量
-
Sent KB/sec:每秒从客户端发送的请求的数量
写在最后
本文使用漫画形式向大家展示了jmeter的基础用法:录制回放功能,断言,聚合报告。
我想你已经获取到了这些信息,李政道教授谈论学习方法,他表明我们可以获取很多信息但是,信息到理解还有一段路,只有亲手练了才能变成理解,能获取信息不代表自己理解。
所以请同学们勤加练习,争取学到更多的知识,本内容出自 霍格沃兹测试学院 ,想进一步学习jmeter的使用?请继续关注我们。
你喜欢小伙这篇文吗?
喜观就点“在看”鼓励小伙吧 ** ** ** ** ************
来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全面提升测试开发工程师的技术实力
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了