记jmeter常用功能
前段时间,哦,不,应该说是前几个月,研究了下测试工具jmeter的使用。时隔已久,今天临时需要测试一批接口的返回码,自然想起了用jmeter啊,但是发现有些用法不太记得了。。。故翻以前的笔记整理一下,记之。
关于jmeter的介绍就不多说了(其实是我也没有很熟悉它),安装很简单,依赖java环境,蒽,自然可以跨平台使用。jmeter操作步骤基本是:创建一个测试计划,配置,执行测试计划,然后分析结果。
-
- 1. 添加测试计划
-
这里设置的是全局变量,能在整个测试plan访问到。
-
- 2. 添加线程组
-
- 线程数:执行测试计划的线程数。
- ramp-up period:启动所有线程的耗时,如线程数是100,启动时长设置10,则1s启动10个线程。
- 循环次数:单线程发送请求的次数,如线程数是100,循环10次,则总请求数等于1000。
-
- 3. 添加配置元件
-
http请求默认值:默认所有请求都自动带上所设置的参数。
-
- 4. 后置处理器
-
- 正则提取器:
-
提取返回结果作为下一个请求的入参。
如果提取结果是一个数组,需要自动循环下个请求,这时候就要配合forEach控制器使用。
loop start index: 1
loop end index:
${id_arr_matchNr}
loop variable: id
其中result为上个请求的返回结果集,下个请求通过
${id}
引用单个结果。
-
- 5. 监听器
-
-
- 察看结果树:
- 查看每个请求的详细情况。
-
- PerfMon Metrics Collectot:
- 监控server的CPU、内存等指标,指定端口监听:
java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 8080 --tcp-port 8080
-
- 聚合报告:
- Label: 展示测试过程中所有执行的请求和控制器的聚合
- # Samples: 样例执行数量
- Average: 平均时间,单位: ms
- Median:中位数,50%用户的响应时间,单位: ms
- Min: 最小时间,单位: ms
- Max: 最大时间,单位: ms
- Error %: 错误率
- Throughput: 服务每秒处理的请求数据量
-
以上是使用过程中一些主要点的总结,我用到的功能还只是jmeter的一小部分,jmeter支持的测试类型不只HTTP请求,还有DB,junit等。本文只是介绍了一个完整测试计划的配置过程,作为一个非专业人员自己摸索,有错漏的地方,谢谢指正。