Jmeter获取上一个返回值,动态参数化json格式


参考了http://www.cnblogs.com/0201zcr/p/5046193.html博主的讲解,觉得不错,他传的参数不全是json格式。我的业务,刚好都是json格式,所以在这里做了笔记,方便自己记忆。

 

业务讲解:请求1的返回值要传给请求2,作为动态参数请求,这样就可以形成一个完整的业务。符合实际的业务请求。

业务需求:请求1:扫码支付创建订单的接口,服务器返回创建的订单,传给扫码支付的接口,进行支付的流程。

请求1的服务器返回数据:

{"orderId":"9852092723627294720","message":"创建订单成功","status":100}

请求2需要的参数是:

{"account":"13910001000","orderId":"9852092723627294720","posId":"N9NL10255029","couponMoney":0,"couponInfo":"","payMoney":0.01,"barcode":"130122475934385558","channelId":"WX"}

请求2中,orderId的值,是请求1返回的值。可以用正则表达式提取器,从请求1中获取订单的ID,如下图所示:

  • 引用名称是下个请求将要引用到的变量名
  • 正则表达式是提取你想要内容的正则表达式,小括号()表示提取,也就是说对于你想要提取的内容需要用它括起来;    .*"orderId":"(.+?)".*
  • 模板是使用提取到的第几个值。因为可能有多个值匹配,所以要使用模板。从 1 开始匹配,依次类推。这里只有一个,所以填写 $1$ 即可;
  • 匹配数字表示如何取值。0 代表随机取值,1 代表全部取值。这里只有一个,填 1 即可;
  • 缺省值表示参数没有取到值的话,默认给它的值。一般不填。

那么获取订单ID后,如何作为请求的参数呢,可以在请求2的参数中,作参数化,达到动态传参的目的,如下代码所示:

{"account":"13910001000","orderId":"${orderId}","posId":"N9NL10255029","couponMoney":0,"couponInfo":"","payMoney":0.01,"barcode":"130122475934385558","channelId":"WX"}    

 


免责声明!

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



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