-
jmeter写脚本
-
万能法
-
先把项目启动
-
打开我们项目接口文档
-
接口文档: 一般是开发
-
-
特别注意事项:
-
当你的接口请求参数为json格式时,一定要写请求头,请求头中一定要有 Content-Type: application/json
-
如果没有这个信息,100%报错,不局限于jmeter
-
-
-
-
写脚本
-
测试计划上右键, 添加 线程组
-
线程组上右键,添加 取样器> http请求 (http协议簇)
-
线程组上右键,添加 监听器 > 查看结果树
-
一个最简单的jmeter脚本,包括,线程组、取样器、监听器
线程组: 性能测试中用于场景设计的,写脚本阶段不用改动
取样器: 根据不同的协议,编写不同的脚本。 填空
监听器: 调试脚本时使用,性能测试执行时,禁用(不管哪种监听器,都是对结果数据进行不同维度的展示,这些展示,是需要消耗本地资源的)
8080端口,是tomcat的默认端口
http协议的默认端口:80
https协议默认端口: 443
请注意:
1、当请求体为json, 一定要有请求头 Content-Type:application/json
2、json格式有问题
3、协议: 当协议为http时,可以不写,如果是https,那就必须写
4、服务器名称或IP:不能带有/
5、路径: 不要带域名或ip,和端口
路径开头,用/
不要带有空格, 带有空格请求URL
6、内容编码:utf8
请求内容出现乱码处理方法:
1)、内容编码: utf8
2)、请求头,;charset=utf-8
3)、请求体为参数类型:勾选参数“编码” 编码:urlencoded编码
在参数值为 非字符(汉字、特殊符号) 都需要勾选编码
给大家的建议: 参数值,不管什么类型,都建议勾选编码
4)响应内容出现乱码处理方法:
需求修改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,但是在性能测试中,我们会根据需要,去掉这个勾。
用户定义变量 vs 用户参数
-
用户定义变量
-
全局变量: 可以跨线程组
-
在启动时,获取一次值,在运行过程中不会动态获取值
-
-
用户参数
-
局部变量: 不能直接跨线程组
-
在启动时,获取一次值,在运行过程中,还会动态获取值
-
-
作为功能测试、自动化测试,非性能测试时,可以把接口写在一个线程组下面
-
在性能测试时,可能会因为不同的需求,把接口写到不同的线程组中
-
在性能测试中,多线程组脚本,有个难题,跨线程组传参
-
我们采用“用户属性”
-