【Jmeter】正则表达提取器取出两个不同的参数值


问题:退费需要同时传两个参数,订单id和退费No。

接口返回参数:

 方法一:

 正则:"id": (.*?),[.\s\S]+?"refundNo": "(.*?)"

[.\s\S]+?】去掉两个参数间不需要的值、换行符、空格等

查看提取的参数值: 执行接口,Debug Sampler中查看结果

 

方法二:

创建两个正则提取器,分开取值,这个是是一开始用的方法,但是Match To那边参数写的是0,导致取值随机了,id和refundNo没有对应到同一笔订单,下一接口执行出错,Match To改为1问题就解决了。

 

 

 

 

各参数值的含义:

Name of created variable:参数引用的名称,后续操作中采用格式${}引用。

Regular Expression:正则表达式,提取所需数据

Template:表示使用提取到的第几个值:

  $0$,为整个表达式匹配到的内容,包括小括号内跟小括号外的内容
  $1$,对应正则表达式中的第一个(.*?)所匹配的内容
  $2$,对应正则表达式中的第二个(.*?)所匹配的内容
  $1$$2$,把2个(.*?)所匹配的内容拼接起来

Match To:0 代表随机取值,

     1 代表返回结果数组中的第一个元素,

     负数(-1,-2,-100都可以)表示返回全部元素,并且同时会返回一个元素总数的变量,在引用时:通过${变量名_1}的方式来取第1个匹配的内容,${变量名_2}来取第2个匹配的内容    

Default Value:如果正则表达式没有提取到值,则使用此缺省值。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM