jmeter中的正則表達式提取器

jmeter中的提取器

什么是提取器

在實際接口測試中經(jīng)常會用到 其他接口的 返回數(shù)據(jù),舉個例子 登錄請求后 要取出 響應(yīng)中的token,交給后續(xù)接口使用。 完成提取 token工作的元件就叫提取器, 提取器根據(jù)提取原理不同劃分了很多的提取器,最常用的 是 正則表達式提取器 和 json提取器。


image.png

正則表達式提取器

顧名思義,就是使用 <ins style="box-sizing: border-box;">正則表達式</ins> 來 提取 想要的數(shù)據(jù)

什么是正則表達式

正則表達式 是編程工作中經(jīng)常使用的一個知識點,它規(guī)定了一些特殊符號的含義,用來描述一種字符串的匹配模式。

常用的匹配符號

image.png
image.png

正則表達式演示

image.png

在Jmeter中的實際使用

假設(shè)我們要提取登錄接口中token的值


image.png
  1. 首先在接口中右鍵點擊添加 正則表達式提取器


    image.png
  2. 輸入內(nèi)容


    image.png

    下面來逐個解釋:

    1. 引用名稱:取值成功后要給這個值取個變量名,方便后續(xù)使用,我這里填的是 login_param,如果我在其他元件使用這個值的時候 寫 ${login_param} 就代表這個取到的值

    2. 正則表達式:<ins style="box-sizing: border-box;">“token”:"(.*?)",</ins> 因為我們要取token,根據(jù)報文得知值的前后內(nèi)容,

      1. ():括起來的部分就是要提取的。
      2. .:點匹配任何字符串。
      3. *:代表匹配0個到多個字符
      4. ?:不要太貪婪,在找到第一個匹配項后停止。
      5. 簡單概括一下就是, 從"token":“開始匹配所有的字符,直到碰到第一個”,為止,把中間的所有字符串取到


        image.png
    3. 模板:模板:用引用起來,如果在正則表達式中有多個正則表達式,則可以是$23$等等,表示解析到的第幾個值給title。如:<math><semantics><annotation encoding="application/x-tex">1</annotation></semantics></math>1表示解析到的第1個值,下個案例會實戰(zhàn)

    4. 匹配數(shù)字:如果表達式匹配到多個目標,取第幾個,一般填 1,就行了

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

  3. 添加一個調(diào)試取樣器
    這個元件可以查看jmeter運行時的變量變化,在名字后面加上${login_param}


    image.png
  4. 執(zhí)行腳本看看結(jié)果


    image.png
  5. 再添加一個HTTP信息頭管理器,在線程組外面添加,輸入token


    image.png
    image.png

同一個響應(yīng)中提取兩個參數(shù)

假設(shè)我們要提取登錄接口中token的值 和 userName的值


image.png
  1. 復(fù)制剛才的請求 和 調(diào)試取樣器
    image.png
  2. 修改正則提取器
    “token”:"(.?)",“userName”:"(.?)" : 這里面有兩個正則表達式,多以對應(yīng)的模板改成 <math><semantics><annotation encoding="application/x-tex">1</annotation></semantics></math>1<math><semantics><annotation encoding="application/x-tex">2</annotation></semantics></math>2

    image.png

  3. 執(zhí)行一下看看結(jié)果
    這個時候 login_g1代表token,login_g2代表userName,這就是匹配多個值的用法,注意模板和表達式的對應(yīng)關(guān)系就好了


    image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容