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