jmeter编写脚本
一、准备事项
- 项目环境
- 接口文档
- http请求包括哪些部分 - 请求行 + 请求方法,请求地址URI- 请求头 Content-Type cookie User-Agent- 空一行- 请求体 参数: 表单 消息体数据: json 、xml
二、写脚本
一个最简单的jmeter脚本,包括,线程组、取样器、监听器:
- 测试计划上右键, 添加 线程组
- 线程组上右键,添加 取样器> http请求 (http协议簇)
- 线程组上右键,添加 监听器 > 查看结果树
线程组: 性能测试中用于场景设计的,写脚本阶段不用改动
取样器: 根据不同的协议,编写不同的脚本。 填空
监听器: 调试脚本时使用,性能测试执行时,禁用
不管哪种监听器,都是对结果数据进行不同维度的展示,这些展示,是需要消耗本地资源的
8080端口,是tomcat的默认端口
http协议的默认端口:80
https协议默认端口: 443
jmeter的默认保存路径,jmeter的bin文件夹
三、注意事项
1. 请求头
当请求体为json, 一定要有请求头 Content-Type:application/json
2. json格式
3. 协议
协议: 当协议为http时,可以不写,如果是https,那就必须写
4. 服务器
服务器名称或IP:不能带有/
5. 路径: 不要带域名或ip,和端口
- 路径开头,用/
- 不要带有空格, 带有空格请求URL %20 urlencoded编码
- URI 资源地址
- URL: 带domain
6. 内容编码:utf8
- 请求内容出现乱码处理方法:- 内容编码: utf8- 请求头,;charset=utf-8- 请求体为参数类型:勾选参数“编码” 编码:urlencoded编码; 在参数值为 非字符(汉字、特殊符号) 都需要勾选编码; 建议: 参数值,不管什么类型,都建议勾选编码
- 响应内容出现乱码处理方法:
需求修改jmeter.properties中sampler.result.encoding
不是简单的设置为utf8、 gbk、gb2312、big5,而是需要去尝试修改为以上几种,去尝试匹配被测系统的编码方式
- 同一个接口,用postmen请求,响应是正常,用jmeter请求响应中文乱码?原因是: jmeter的编码是根据操作系统编码。
在国内,中文windows系统的字符集编码是gbk 936, mac系统中文编码utf8
7.请求体类型选择
消息体数据:当我们的请求接口文档中说,请求体为json格式,那么我们就选择用消息体数据,来写json, soap=http+xml
参数: 我们的请求体,form-data
Content-Type: application/x-www-form-urlencoded 或者不指明请求体类型,get
8、重定向
- 自动重定向:不会显示中间重定向过程,无法从过程中,提取信息
- 跟随重定向:会自动显示重定向过程,能从过程中,提取想要信息,用于后面接口请求
- 使用keepAlive:保持连接, 长连接, 因为现在用http协议版本为1.1 就是长连接,所以,默认勾选keepAlive,但是在性能测试中,我们会根据需要,去掉这个勾。
版权归原作者 chosen1_ln 所有, 如有侵权,请联系我们删除。