记录关于jmeter的正则表达式取值
在产品列表接口返回数据如图
我们想要提取该接口返回的产品id,作为下个接口的入参引用
1引用名称:就是变量名,调用使用${product_id}
2正则表达式:()括号里表示你要的数值, “id”:“(.*?)”
3模板:$$表示你要是用那个正则表达式那个模板获取的值 -1全部,0 随机,1第一个2第二个,如果只有一个正则一般就填写1,
如果多个正则你要看你到底调用哪个值来定,这儿待会下面截图例子一看就明白
4匹配数字: -1表示全部,0随机,1第一个,2第二个
5缺省值:这个如果没有匹配到,给它定义的一个默认值
注意,如果将正则表达提取器放在线程组中,可能导致后面的接口无法正常入参,要记得放在提取的单个请求中,如图,注意位置
最后,我们可以在debug中看到id已经被提取了,可以在下面的接口中直接引用${product_id}入参了
补充:返回值如果是字符串就是正常提前,如果返回值是数字“code”:200,则正则结尾要用逗号列如:“code”😦.?),,则可以提前到 200
如果返回值是一个列表,则先提取列表,再进行取值如 “skills”😦.?)} 提取结果是一个列表 [“测试”],
此时再想办法进行取值
:前面表示从冒号后面就开始提取,所以不要前引号了,这里需要特别注意,且以反括号结束或者逗号结束,具体是看要截取的值结束符号