jmeter:正則表達式的使用


Jmeter中正則關聯的使用是可以提取動態變化數據進行傳遞:關聯的方式和提取器有多種,這篇先講解正則表達式怎么來關聯(?)


在需要獲取數據的http請求上添加后置處理器

 

比如提取百度title值:

正則表達式的寫法:

 

說明:

  (1)引用名稱:下一個請求要引用的參數名稱,如填寫title,則可用${title}引用它。

  (2)正則表達式:

    ():括起來的部分就是要提取的。

    .:匹配任何字符串。
    +:一次或多次。
    ?:不要太貪婪,在找到第一個匹配項后停止。

  (3)模板:用$$引用起來,$1$表示解析到的第1個值

  (4)匹配數字:0代表隨機取值,1代表全部取值,通常情況下填0

  (5)缺省值:如果參數沒有取得到值,那默認給一個值讓它取。

 

給下個請求引用這個變量就可以了

正則表達式:主要就是:左邊界(.*?)右邊界,左右邊界就是為了能准確定位到想匹配的內容,(.*?) 是替換了想要提取的內容
里面的'?'為非貪婪匹配,(非貪婪模式就是說在遇到第一個右邊界后就停止匹配,這樣就可以精確拿到想要的內容)
模板:對應正則表達式提取器類型,樣式為:$n$,
若模板為:$0$,則為整個表達式匹配到的內容,就是包括小括號內跟小括號外的內容
若模板為:$1$,則對應正則表達式中的第一個(.*?)所匹配的內容,
若模板為:$2$,則對應正則表達式中的第二個(.*?)所匹配的內容,
若模板為$1$$2$,則把2個(.*?)所匹配的內容拼接起來,
匹配數字:正則表達式匹配數據的最終結果可以看做一個數組,匹配數字即可看做是數組的第幾個元素。
當為 0 時,隨機返回匹配的數據
當為 1 時,表示返回匹配結果數組的第一個元素。當為負數(-1,-2,-99都可以)時,表示返回全部元素,並且同時會返回一個元素總數的變量如sessid,在引用時:通過${sessid_1}的方式來取第1個匹配的內容,${sessid_2}來取第2個匹配的內容。
缺省值:匹配失敗時的默認值。通常用於后續的邏輯判斷
 
 
你們自己試試吧

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM