运用Jmeter正则提取器,可以从请求的响应结果中取到需要的内容,从而实现关联。
关联是请求与请求之间存在数据依赖关系,需要从上一个请求获取下一个请求需要回传回去的数据
在查看结果树中找到相应数据,我们需要取得actionId,buttonName
需要选中请求右键,添加-后置处理器-正则表达式提取器(需要在哪个请求的响应数据中拿到,就在哪个请求上添加。后置处理器的意思是请求会先执行,再从响应数据中取值)
如上图,正则表达式的属性就是这样,先简单介绍下字段什么意思,再举例说明
名称: 自己写一个就好
Apple to:和要检查的相应字段,一般都默认,主要是针对响应数据中的值去处理,如有其它需要,可以参考jmeter说明
想要知道正则表达式是否正确,可以在请求后加入调试取样器
右键-添加-取样器-调试取样器
响应数据:[{"actionId":"save_G_1_zdhflow.1","buttonName":"保存"},{"actionId":"G_1_zdhflow.1","buttonName":"商务技术审核"}]
没有特殊的情况用(.*?)就可以解决所有问题,给大家举例
我们要取得actionId的值
1、正则表达式中复制,"actionId":"save_G_1_zdhflow.1","buttonName"
2、把save_G_1_zdhflow.1替换成(.*?)就可以了
匹配数字写成1,就是第一次匹配,因此得到的值 save_G_1_zdhflow.1
如果有修改匹配数字为2 ,就是G_1_zdhflow.1
我要匹配actionId,还要匹配buttonName怎么办?
1、正则表达式复制 "actionId":"save_G_1_zdhflow.1","buttonName":"保存"}
2、save_G_1_zdhflow.1和保存替换成(.*?)
3、模板要改成$1$$2$,因为有两个(.*?)而且这两个值都要拿到
就可以将actionId_g1和actionId_g2将变量传递下去
注意喽,如果我要把两个都取出来怎么办嘞,把匹配数字写成-1 即可
结果如下图
特例:
如果有响应数据只有数字,譬如返回的是个100, 就不能用.*?,因为?会取最小值,所以去掉就好,改为 (.*)
到此这篇关于jmeter正则表达式的使用的文章就介绍到这了,更多相关jmeter正则表达式内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!