jmeter常用元件使用
jmeter有非常严格的作用域,作用域千万不要放错位置
配置元件
- 1、HTTP请求默认值
- 该组件可以为我们的http请求设置默认的值
- 创建一个测试计划有很多个请求且都是发送到相同的server,只需要添加一个Http request default组件并设置“Server Name or IP”
- 添加多个http请求会默认使用Http request default组件设置的值
- 2、HTTP消息头管理器
- 3、HTTP Cookies管理器
- 4、HTTP Cache管理器
常用的默认端口:
80--http
8080--tomcat,nginx
8888---代理服务器
3306--mysql
443---https
请求是成功的,结果不正确
排查原因,查看请求头
Connection: keep-alive
Content-Length: 88
Content-Type: text/plain; charset=UTF-8
Host:
User-Agent: Apache-HttpClient/4.5.7 (Java/1.8.0_151)
发现请求类型跟接口文档不一致
Content-Type: text/html; charset=UTF-8
增加配置文件---消息头管理器
Content-Type: application/x-www-form-urlencoded
发现提示没有cookies
[no cookies]
- 1、增加一个请求,通过访问首页,获取session,访问路径为:/
- 2、增加一个HTTP Cookies管理器,自动提取session
重新运行,成功
现在发现两个请求的协议,IP和端口是一样的,我们可以设置成默认的
增加一个http请求默认值元件,填写协议,ip和端口
然后把那两个请求里面的协议,ip和端口都删除
监听器元件
- 1、察看结果树---查看问题
- 1、分析查看具体某一个请求的详情:
- 请求头、请求体
- 响应头、响应体
- 2、在做性能场景的时候
- 分析错误请求的原因----仅错误日志
- 1、分析查看具体某一个请求的详情:
- 2、聚合报告---脚本跑了一段时间,做统计
- 汇总统计
- 请求数、响应时间(平均的 90% 95% 99% min max)单位:毫秒
- 错误率:越低越好
- 吞吐量:越高越好
- 发送/接收---带宽
- 汇总统计
- 3、用表格查看结果---看每个请求具体什么时候起
- 请求什么时候开始,什么时候结束,中间过程是什么样的
- 4、图形结果---整体效果,看曲线图
其他常用元件
-
1、前置处理器
- 请求发出去之前的控制器(元件)--位置只要放在请求中即可
- 比如:加密,md5
-
2、后置处理器
- 请求发出去之前的控制器(元件)--位置只要放在请求中即可
- 比如:提前数据,正则表达式
-
3、定时器--线程里面的
- 1、思考时间--固定定时器--模拟用户习惯
- 2、同步定时器--集合点
- 比如商场打折,规定9点开始,9点之前人员集合在一起,9点开始开始抢购--并发
- 3、随机定时器--
- 4、吞吐量定时器--分流效果
-
4、断言
线程组的延时--线程启动的延时,跟上面的定时器不一样
逻辑控制器:
仅一次控制器,多少个线程有多少次