无论用JMeter做接口测试,压力测试等都无法避免参数化,在编程的角度上,有点像局部变量与全局变量
参数化方式:
1.直接定义的变量,日常使用:用户自定义变量,从本地文件导入:CSV Data Set Config
2.通过提取接口响应体的变量,进行参数化,日常用的比较多的是Json,正则提取等等
提取或者定义变量后,统一使用方法:${变量名},可以放在同线程组内的任意线程,在有效范围都能生效;
用户自定义变量(User Defined Variables):
添加:计划/线程组/请求-右键》config Element>User Defined Variables
变量有效范围:计划(全局有效)》线程组》请求
可以自定义参数(变量),使用函数助手 time, ramdom等
使用方法:${变量} 如:${time}, 目前不支持拼接字符串;
CSV Data Set Config
添加:计划/线程组/请求-右键》config Element>CSV Data Set Config
变量有效范围:计划(全局有效)》线程组》请求
是否循环:不循环,值是唯一的
正则提取(Regular Expression Extractor):
添加:计划/线程组/请求-右键》post processors>Regular Expression Extractor
备注:多个参数,表达式可以用 , 隔开
JSON提取(JSON Extractor):
添加:计划/线程组/请求-右键》post processors>SON Extractor
可以对请求结果使用 JSON,然后输入表达式: