首页 > 编程知识 正文

jmeter正则表达式,jmeter中正则表达式提取器

时间:2023-05-05 14:44:35 阅读:204803 作者:218

应用场景:
在一个线程组中,如果B请求需要使用A请求返回的数据,也就是我们常说的关联,将上一个请求响应的结果作为下一个请求的参数,则需要对A请求的响应报文使用后置处理器,这个时候我们就要用到正则表达式提取器

一、提取方法 1、新建A请求 添加线程组

添加HTTP请求
新建A请求,并添加察看结果树
2、查看提取的参数是否正确

通过察看结果树,提取想要的参数

通过RegExp Tester查看提取的参数是否正确
“Data”:"(.+?)"

3、通过正则表达式提取 添加正则表达式提取器

填写信息

说明:

(1)引用名称:下一个请求要引用的参数名称,如填写Data,则可用${Data}引用它(2)正则表达式: ():括起来的部分就是要提取的 .:匹配任何字符串 +:一次或多次 ?:不要太贪婪,在找到第一个匹配项后停止 (3)模板:用$$引用起来,$1$表示解析到的第1个值(如果有多个值,就添加多个:$1$$2$$3$): 一个值:Match count: 1Match[1][0]= "Data": "E944883D4BBEC7"Match[1][1]=E944883D4BBEC7 --这里为第一个值 多个值:Match count: 1Match[1][0]="responseContent": ["14546523321", "45645454", "545643213"]Match[1][1]=14546523321 --这里为第一个值Match[1][2]=45645454 --这里为第二个值Match[1][3]=545643213 --这里为第三个值(4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0 4、B请求调用A请求返回的数据

二、正则表达式的举例说明 1、提取单个参数 "Data": "(.+?)"

2、提取多个参数 "Data": "(.+?)", "devies": "(.+?)"


3、数组提取方法 "responseContent": ["(.+?)", "(.+?)", "(.+?)"]


4、B请求调用A请求返回的多个参数 调用A请求返回的多个参数,就需要用到调试取样器(Debug Sampler)

首先添加调试取样器(Debug Sampler)

以下为正则表达式提取的参数(拿数组提取演示):

Data_g1 = 模板$1$的参数Data_g2 = 模板$2$的参数Data_g3 = 模板$3$的参数


B请求调用A请求的多个参数使用方法:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。