【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