jmeter在做关联时,经常用到的是通过后置处理器中的正则表达式提取器去获取响应数据中的动态数据
详细讲解如下:
1.创建
2.页面元素详解--Apply to
正则表达式的匹配范围
默认是:仅主的取样器请求
Main sample and sub-samples:主请求和子请求,子请求一般为请求重定向跳转后的请求
Sub-samples only:仅子请求
JMeter Variable Name to use:可直接填写变量名,即从一个变量的值中去匹配 ,该场景可用于需要多次匹配才能匹配到想要的结果,即添加多个正则取样器,第一次正则取样器在响应中匹配数据,赋值给变量,第二次正则取样器在该变量中再一次匹配,获取最后需要的数据
3.页面元素详解--要检查的响应字段
具体匹配一个请求的哪个部分,平常用的最多的是:主体、信息头即响应头、响应代码
4.3.页面元素详解
引用名称:即匹配的数据赋值到该变量中
正则表达式:该处填写需要配置的正则表达式,匹配原理是通过左右边界的内容去匹配到括号中的值,匹配的正则写入()中,常用的是(.*?)或(.+?),在匹配中作用相同,都为匹配所有
模板:分为有三种:第一种:$X$ X代表正整数, 即为将第X个括号中的值赋值给变量,如果为2,则将第二个括号中匹配到的值赋值给变量name
第二种:直接写入常量字符串,例如写入:abc, 则为每次正则匹配到后,就会把abc赋值到变量name中
第三种:$X$和常量字符串混合使用:例如 abc$1$ ,即将abc和第一个括号中匹配到的值拼接后,赋值给变量name,
匹配数字:不填默认为0,0表示将匹配到的数据随机读取一个赋值给变量name中
正整数表示将括号顺序为该正整数的正则匹配到的数据赋值给变量 例如:填写2,则表示将第2个括号,匹配到的数据赋值到name中
负数,一般是-1,即将所有匹配到的数据都赋值给变量 ,此时会自动生成一个变量来存储匹配到的个数,可供后续使用, 名为:变量名_matchNr 例如:name_matchNr
备注:我们可以再添加一个调试取样器,可在查看结果树中去查看最终变量的取值是否正确
原文地址:https://www.cnblogs.com/xiaozhenzhen/p/11737272.html