性能测试全栈笔记:18.Jmeter关联基础-正则篇
性能测试全栈笔记
十八、Jmeter关联基础-正则篇
引导:关联是接口脚本中最最重要的一环,口语意思就是上一个接口的出参当作下一个接口的入参使用,形成一个事务(什么叫事务?学完关联应该更好理解了)
本期性能测试全栈要介绍的关联有三种:
- 关联:正则
- 关联:正则+forEach控制器
- 关联:json提取器
- 关联:json提取器+循环控制器+Beanshell前置处理器(需要JavaSE基础)
首先介绍第一种关联形式:正则
先来熟悉一下什么是正则表达式,这里有讲解:万能正则表达式(真的很万能)案例:使用“返回json数组的GET接口”做上游服务,随机取“phoneNum”的值作为下游“参数为k=v的POST接口”的“userName”入参,设计、运行并保存脚本。
执行:1.“返回json数组的GET接口”调试(单接口):
2.添加JSON数组断言
断言结果:
3.添加正则表达式提取器
- 引用名称:phoneNumParam(变量名称)
- 正则表达式:”phoneNum”:”(.+?)”
- 模版:$1$(当做固定形式思考)
- 匹配数字:0(0表示随机,-1表示全部)
- 缺省值:默认值,可不填写
4.运行脚本,借助调试取样器,查看随机取到的值:
phoneNumParam_g0=”phoneNum”:”13788881279″
再运行一次:
再运行一次:
5.经过多次调试,我们已经通过正则表达式提取器随机取值的功能,根据设定的变量,进行变量替换,将phoneNumParam作为userName的值
6.运行脚本,查看上下游两个脚本的结果
上游结果:
下游结果:
重点看调试取样器取值的结果:
再看一组:
本章节结束,好好使用调试取样器,理解关联的概念,有助于关联的学习
下一章学习:正则+forEach控制器的关联使用