溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用Jmeter如何實(shí)現(xiàn)后置處理器

發(fā)布時間:2020-11-04 16:46:39 來源:億速云 閱讀:345 作者:Leah 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)使用Jmeter如何實(shí)現(xiàn)后置處理器,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

1.JSON Extractor

Json extractor 后置處理器用在返回格式為 Json 的 HTTP 請求中,用來獲取返回的 Json 中的某個值。并保存成變量供后面的請求進(jìn)行調(diào)用或斷言等。

使用Jmeter如何實(shí)現(xiàn)后置處理器

使用Jmeter如何實(shí)現(xiàn)后置處理器

  • Variable names:保存的變量名,后面使用 ${Variable names} 引用
  • JSON Path expressions:上一步中調(diào)試通過的 json path 表達(dá)式
  • Match Numbers:匹配數(shù)字(0代表隨機(jī),1代表第一個,-1代表所有)
  • Default Values:找不到時默認(rèn)值,一般設(shè)置為 NOT FOUND
  • Compute concatenation var(suffix_ALL):是否統(tǒng)計(jì)所有,即將匹配到的所有值保存,名為“變量名_ALL”,使用場景需要獲取的值有多個,后面需要對這一組數(shù)據(jù)進(jìn)行操作

使用Jmeter如何實(shí)現(xiàn)后置處理器

Json Path expression 的使用

JsonPath

描述

$

根節(jié)點(diǎn)

@

當(dāng)前節(jié)點(diǎn)

.or[]

子節(jié)點(diǎn)

..

選擇所有符合條件的節(jié)點(diǎn)

*

所有節(jié)點(diǎn)

[]

迭代器標(biāo)示,如數(shù)組下標(biāo)

[,]

支持迭代器中做多選

[start:end:step]

數(shù)組切片運(yùn)算符

?()

支持過濾操作

()

支持表達(dá)式計(jì)算

示例如下:  

使用Jmeter如何實(shí)現(xiàn)后置處理器

2.正則表達(dá)式

  • 引用名稱:自己定義的變量名稱,后續(xù)請求將要引用到的變量名,如填寫的是:JWT,后面的引用方式是 ${JWT}
  • 正則表達(dá)式:提取內(nèi)容的正則表達(dá)式,相當(dāng)于 loadrunner 中的關(guān)聯(lián)函數(shù)
  • "()" 括起來的部分就是需要提取的,對于你要提的內(nèi)容需要用小括號括起來  
  • "." 匹配除了換行符以外的任何字符  
  • "*" (貪婪) 重復(fù)零次或更多  
    • 例如 "aaaaaaaa" 匹配字符串中所有的a 正則: "a*" 會出到所有的字符 "a"
  • "+" (懶惰) 重復(fù)一次或更多次
    • 例如 "aaaaaaaa" 匹配字符串中所有的a 正則: "a+" 會取到字符中所有的 a 字符, "a+" 與 "a*" 不同在于 "+" 至少是一次而 "*" 可以是0次      
  • "?" (占有) 重復(fù)零次或一次  
    • 例如 "aaaaaaaa" 匹配字符串中的a 正則 : "a?" 只會匹配一次,也就是結(jié)果只是單個字符 a    
  • "*?" 重復(fù)任意次,但盡可能少重復(fù)   
    • 例如 "acbacb" 正則 "a.*?b" 只會取到第一個 "acb" 原本可以全部取到但加了限定符后,只會匹配盡可能少的字符 ,而 "acbacb" 最少字符的結(jié)果就是 "acb"     
  • "+?" 重復(fù)1次或更多次,但盡可能少重復(fù),與 "*?" 一樣,只是至少要重復(fù)1次  
  • 還有分組的情況,常用的就這兩種,其它的可以再自行百度  
    • "(?=exp)" 匹配exp前面的位置    
    • "(&#63;<=exp)" 匹配exp后面的位置    
         

模板:用 $$ 引用起來,如果在正則表達(dá)式中有多個正則表達(dá)式(多個括號括起來的),則可以是 $1$,$2$,$3$ 等等,表示解析到的第幾個值給 var。例如:$1$ 表示匹配到的第一個值

使用Jmeter如何實(shí)現(xiàn)后置處理器

使用Jmeter如何實(shí)現(xiàn)后置處理器

匹配數(shù)字:0 代表隨機(jī)取值,此時提取結(jié)果是一個數(shù)組,1 表示取出匹配到的第一個值,負(fù)數(shù)表示提取所有符合條件的值。

使用Jmeter如何實(shí)現(xiàn)后置處理器

使用Jmeter如何實(shí)現(xiàn)后置處理器

  • 缺省值:正則匹配失敗時,取的值
  • 想要知道正則表達(dá)式是否正確,可以在請求后加入調(diào)試取樣器(右鍵-添加-取樣器-調(diào)試取樣器 debug sampler)
  • 沒有特殊的情況用(.*&#63;)就可以解決所有問題

使用Jmeter如何實(shí)現(xiàn)后置處理器

使用Jmeter如何實(shí)現(xiàn)后置處理器

使用Jmeter如何實(shí)現(xiàn)后置處理器

看完上述內(nèi)容,你們對使用Jmeter如何實(shí)現(xiàn)后置處理器有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI