脚本写法
万能法
先把项目启动
打开项目接口文档或者抓包工具获取接口
接口文档:一般是开发人员编写
特别注意事项:当接口请求参数为json格式时,一定要写请求头,请求头中一定要有Content-Type:application/json;charset=utf-8
如果没有请求头信息,接口响应会异常,不局限jmeter工具
http请求包括哪些部分:
请求行:请求方法、请求地址
请求头:Content-Type、cookie、User-Agent
空一行
请求体:data、json
参数:表单
消息体数据:json、xml
响应结果:response
开发人员定义的返回码:code,和response_code不一样那个
`{`
“code”:0, //返回code响应代码
"msg":"调用成功", //提示信息
"data":{} 实际返回结果
`}`
http response_code:
2xx:网络请求超时 200 关注网络是否通
3xx:重定向相关 301
4xx:请求URL地址有问题 400、404、405(请求方式问题)
5xx:服务器内部异常 500、502 bad getway
写脚本:一个最简单的jmeter脚本,包含:线程组、取样器、监听器
线程组:性能测试中用于场景设计,写脚本阶段不用改动
取样器:根据不同的协议,编写不同脚本,填空
监听器:调试脚本时使用,性能测试执行时,禁用
不管哪种监听器,都是对结果数据进行不同维度的展示,这些展示,是需要消耗本地资源的
8080端口,是tomcat的默认端口
http协议的默认端口:80
https默认端口:443
Jmeter的默认保持路径,jmeter的bin文件夹
请注意:
1、当请求体为json,一定要有请求头Content-Type
2、json格式有问题
3、协议:当协议为http时,可以不写,如果是https,那就必须写
4、服务器名称或ip地址:不能带有/
5、路径:URI是填写资源地址
6、不要带有空格,带有空格请求URL %20 urlencoded编码
7、内容编码:utf8
请求内容出现乱码处理方法:
1、内容编码:utf8
2、请求头中:charset=UTF-8
3、请求体为参数类型:勾选参数的编码,进行urlencoded编码
在参数为非字符(汉字、特殊符号关注+、=、/),都需要勾选编码
响应内容出现乱码处理方法
给大家的建议:参数值,不管什么类型,都建议勾选编码
响应内容出现乱码处理方法?
需要修改jmeter.properties中sampler.result.encoding改成utf8
不是简单的设置为utf8、gbk、gb2312、big5
同一个接口,用postman请求,响应正常,用jmeter请求响应中文乱码?
原因是:jmeter的编码是根据操作系统编码。
在国内,中文windows系统的字符集编码是gbk936,mac系统中午编码utf8
8、参数、消息体数量选择
表格形式传参选择参数
请求头form-data Content-Type:application/x-www-form-urlencoded选择参数
json格式传参选择消息体
soap=http+xml选择消息体
9、自动重定向、跟随重定向
平时使用默认
跟随重定向:会自动显示重定向过程,能从过程中,提取响应信息,用于后面接口请求
自动重定向:不会显示中间重定向过程,无法从过程中,提取信息
使用keepAlive:保持连接,长时间保持连接,因为现在用的http协议版本11就是长连接,所以默认勾选,但是在性能测试中,会根据需要,去掉这个勾。因为一两个人保持连接和一群人保持连接是存在区别的,释放端口,一个端口对接一个连接池,需要及时释放。