jmeter正則表達(dá)式提取器的用法與正則詳解
我們?cè)偈褂胘meter請(qǐng)求接口時(shí),碰到一些業(yè)務(wù)流程性的接口改怎么辦,比如,我一個(gè)發(fā)布內(nèi)容的接口需要用到登錄接口返回的token加到請(qǐng)求上去才能發(fā)布內(nèi)容,那在jmeter上該是如何實(shí)現(xiàn)的咧?
這里介紹的是jmeter的正則表達(dá)式提取器
1,把正則表達(dá)式添加到需要提取返回內(nèi)容的http請(qǐng)求里,添加步驟是,,右鍵http請(qǐng)求--添加--后置處理器--正則表達(dá)式處理器
2,在正則表達(dá)式提取器配置設(shè)置頁(yè)里,
1)要檢查的響應(yīng)字段:相當(dāng)于是要提取哪個(gè)位置的內(nèi)容數(shù)據(jù)
2)引用名稱:我們把內(nèi)容提取出來(lái)后要賦值給一個(gè)變量,這個(gè)變量在jmeter里就是應(yīng)用名稱,注意這里不能出現(xiàn)數(shù)字和一些亂七八糟的特殊符號(hào),建議使用英文
3)正則表達(dá)式:代表這我們提取內(nèi)容的這段正則表達(dá)式 (下面內(nèi)容有詳細(xì)簡(jiǎn)紹這個(gè)正則表達(dá)式如何填寫)
4)模板:提取內(nèi)容的模板,一般是$1$
5) 匹配數(shù)字:設(shè)置為 1 ,表示匹配返回?cái)?shù)組的第一個(gè)元素內(nèi)容。
6)缺省值:不要管
小注意 當(dāng)配置后后我們就可以再其他地方把我們?cè)谡齽t表達(dá)式里設(shè)置的變量放到請(qǐng)求body或者是請(qǐng)求頭里邊了,這里要注意的是作用域的問題 ,假如我們?cè)俚谝粋€(gè)接口里添加了提取器設(shè)置的變量名稱,在第二個(gè)接口里才設(shè)置提取器內(nèi)容的話,這樣在第一個(gè)接口是沒有數(shù)據(jù)的,應(yīng)該這個(gè)變量還沒有再第二個(gè)接口被賦值。。
小注意 當(dāng)我們使用正則表達(dá)式提取器將內(nèi)容提取出來(lái)后就是代入引用,只需要使用 ${引用名稱} 這個(gè)放在我們需要所提取的的位置就行啦 如 token=${引用名稱}
正則表達(dá)式:
- ():要提取的內(nèi)容
- .:匹配任意單個(gè)字符串
- *: 匹配(*之前的符號(hào))0次或多次
- +:匹配(+之前的符號(hào))1次或多次
- ?:不要太貪婪,在找到第一個(gè)匹配項(xiàng)后停止。
- .*:匹配連續(xù)0個(gè)/多個(gè)字符
- .+:匹配連續(xù)1個(gè)/多個(gè)字符
- \ :轉(zhuǎn)義,\.表示匹配字符.本身
小技巧:當(dāng)我們要驗(yàn)證我們的正則表達(dá)式是否正確囊括的內(nèi)容是否是我們需要的內(nèi)容時(shí),我們?cè)賘meter里可以驗(yàn)證
1,請(qǐng)求后在查看結(jié)果樹的頁(yè)面里,點(diǎn)擊我們想要提取數(shù)據(jù)的那一條結(jié)果信息,然后選擇regexp tester,會(huì)在相應(yīng)結(jié)果下面出現(xiàn)一個(gè)文本輸入框,在輸入框內(nèi)輸入我們的正則表達(dá)式后點(diǎn)擊右側(cè)的test就能出現(xiàn)我們的匹配內(nèi)容啦
2,實(shí)驗(yàn)出結(jié)果,假設(shè)我要提取content=“”webkit“”里的webkit這個(gè)數(shù)據(jù)內(nèi)容,我再輸入框里輸入正則表達(dá)式 ="force-rendering" content="(.+?)"/>,然后可以看到我們的結(jié)果已經(jīng)出來(lái)了,數(shù)據(jù)以及拿到,見下圖
然后我們就可以將我們驗(yàn)證通過的正則表達(dá)式 ="force-rendering" content="(.+?)"/> 復(fù)制粘貼到我們添加的功能”正則表達(dá)式提取器“里的”正則表達(dá)式“里面啦。
ps:可能有的朋友會(huì)說,我正則表達(dá)式不是很熟悉怎么辦,不知道該怎樣去填寫正則表達(dá)式,我這里教大家一個(gè)方法,就是我寫這篇文章所使用的方法,我們講我需要提取的內(nèi)容用(.+?)這一個(gè)正則來(lái)表示,也就是說我們?cè)谔崛?nèi)容時(shí),所使用的正則是 : “需要提取的內(nèi)容左側(cè)的數(shù)據(jù)” (.+?) “需要提取內(nèi)容右側(cè)的數(shù)據(jù)”,通過這樣的方式就可以了,這種正則基本適用所有,不懂的小伙伴可以去詳讀這篇文章,在通過對(duì)比我這個(gè)方法,就能了解啦
總結(jié)
到此這篇關(guān)于jmeter正則表達(dá)式提取器的用法與正則的文章就介紹到這了,更多相關(guān)jmeter正則表達(dá)式提取器用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
struts2.5+框架使用通配符與動(dòng)態(tài)方法常見問題小結(jié)
這篇文章主要介紹了struts2.5+框架使用通配符與動(dòng)態(tài)方法常見問題 ,在文中給大家提到了Struts2.5框架使用通配符指定方法 ,需要的朋友可以參考下2018-09-09idea編譯時(shí)不提示任何錯(cuò)誤信息的問題及解決
這篇文章主要介紹了idea編譯時(shí)不提示任何錯(cuò)誤信息的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12SpringBoot?整合?ShardingSphere4.1.1實(shí)現(xiàn)分庫(kù)分表功能
ShardingSphere是一套開源的分布式數(shù)據(jù)庫(kù)中間件解決方案組成的生態(tài)圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(計(jì)劃中)這3款相互獨(dú)立的產(chǎn)品組成,本文給大家介紹SpringBoot?整合?ShardingSphere4.1.1實(shí)現(xiàn)分庫(kù)分表,感興趣的朋友一起看看吧2023-12-12java.sql.Date和java.util.Date的區(qū)別詳解
Java中有兩個(gè)Date類,一個(gè)是java.util.Date通常情況下用它獲取當(dāng)前時(shí)間或構(gòu)造時(shí)間,另一個(gè)是java.sql.Date是針對(duì)SQL語(yǔ)句使用的,它只包含日期而沒有時(shí)間部分,這篇文章主要給大家介紹了關(guān)于java.sql.Date和java.util.Date區(qū)別的相關(guān)資料,需要的朋友可以參考下2023-03-03SpringBoot實(shí)現(xiàn)WebSocket全雙工通信的項(xiàng)目實(shí)踐
本文主要介紹了SpringBoot實(shí)現(xiàn)WebSocket全雙工通信的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05Java中為什么start方法不能重復(fù)調(diào)用而run方法可以?
這篇文章主要介紹了Java中為什么start方法不能重復(fù)調(diào)用而run方法可以?帶著疑問一起學(xué)習(xí)下面文章的詳細(xì)內(nèi)容吧2022-05-05java利用delayedQueue實(shí)現(xiàn)本地的延遲隊(duì)列
這篇文章主要給大家介紹了java利用delayedQueue實(shí)現(xiàn)本地的延遲隊(duì)列的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-04-04java線程池參數(shù)位置導(dǎo)致的奪命故障宿主機(jī)打不開
這篇文章主要為大家介紹了java線程池參數(shù)位置導(dǎo)致的奪命故障宿主機(jī)打不開的問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06