1,设置HTTP请求默认值
2,设置全局变量
3,新建线程组
4,设置私钥
5,每个接口新建一个事务控制器
6,新建Java请求
对于有sign签名的需要将jar包放在apache-jmeter-5.4.1\apache-jmeter-5.4.1\lib\ext目录下,然后引入进来。
除此之外,还需要下载bouncycastle.jar包放在jdk的security目录下:C:\Program Files\Java\jdk-11.0.6\lib\security 否则导入脚本会报错。
7,正则表达式提取sign
8,新建接口请求
9,新建接口的Http请求入参
10,查看结果树中显示中文乱码问题可参照:
https://www.cnblogs.com/whitewasher/p/6780473.html
11,获取前面接口的返回对象中的某个字段值作为当前接口的入参:
Post Processors-->JSON Extractor
1,如 提取name属性:$.name
参照:https://www.cnblogs.com/lasdaybg/p/9758743.html
2,如 提取多层列表下的指定字段:
提取数组集合对象第一个对象中某个属性:$.[0].name 或 $.Province[0].name
筛选出name名为“DGV25”的所有list数据:$..[?(@.name=='DGV25供应商')]
筛选前两条数据:$.[:2]
多层嵌套的jsonlist,需要提取所有列表下,name=“DGV25供应商”时的 id 和 pId 数据:
$..[?(@.name=='DGV25供应商')].["id","pId"]
参照:Jmeter笔记——如何使用json提取器,提取json多层列表下指定字段所在层的其他数据_多层嵌套 json提取器提取-CSDN博客
3,如 提取响应数据中的多个字段:多个字段之间用 ; 号分割
参照:https://www.cnblogs.com/zhouxuyang1/p/11514893.html
12,读取配置文件内容:CSV Data Set Config
参照:[13] JMeter-详解JMeter参数化之CSV Data Set Config_jmeter中url中的参数如何引用csv data set config-CSDN博客
注:第一行一般是变量名,需要忽略掉
13,通过边界值匹配前一个接口的返参字段作为当前接口的入参:
参照:https://www.cnblogs.com/fighting-gabby/p/11578944.html
14,仅执行一次控制器:Once Only Controller
不管线程组循环几次,它下面的节点只执行一次,但是,多少个线程组就会执行多少次,项目中较常用的场景是登录,一个用户登录一次之后可以执行其他更多的操作。
例:线程组数量为1,循环次数为10;仅一次控制器下有个http请求采样器,请求访问百度;那么察看结果树下是访问了几次百度呢?答案当然是1啦。
例:线程组数量为5,循环次数为10;仅一次控制器下有个http请求采样器,请求访问百度;那么察看结果树下是访问了几次百度呢?答案当然是5啦。
15,Throughput Controller控制该控制器下面元件的执行次数:
- Total Executions模式
- 当勾选Per User时:
- 线程数*循环次数>=线程数*吞吐量时,Total Executions模式的执行次数=线程数*吞吐量。
- 当线程数*循环次数
- 当不勾选Per User时:
- 线程数*循环次数
- 当线程数*循环次数>吞吐量时,Total Executions模式的执行次数=吞吐量。
2. Percent Executions模式
无论Per User是否勾选,按Percent Executions模式的执行次数都不受Per User影响,Percent Executions模式的执行次数=线程数*循环次数*吞吐量%。
PS:循环次数=线程组循环次数*循环控制器循环次数。
参照:https://www.cnblogs.com/luihengk/p/7407186.html
16,响应断言Response Assertion:
用来判断当前执行是否成功,成功则继续执行,否则程序中断
参照:https://www.cnblogs.com/hanxiaomin/p/6709877.html
17,BeanShell脚本语言处理断言、前置处理、后置处理、前一个sample提取值处理(可能需要引入三方json包进行数据解析):
参照:https://www.cnblogs.com/puresoul/p/4915350.html
https://www.cnblogs.com/lisa2016/p/11858591.html
https://www.cnblogs.com/poloyy/p/15257716.html