jmeter正則表達式提取器的用法與正則詳解
我們再使用jmeter請求接口時,碰到一些業(yè)務(wù)流程性的接口改怎么辦,比如,我一個發(fā)布內(nèi)容的接口需要用到登錄接口返回的token加到請求上去才能發(fā)布內(nèi)容,那在jmeter上該是如何實現(xiàn)的咧?
這里介紹的是jmeter的正則表達式提取器
1,把正則表達式添加到需要提取返回內(nèi)容的http請求里,添加步驟是,,右鍵http請求--添加--后置處理器--正則表達式處理器
2,在正則表達式提取器配置設(shè)置頁里,
1)要檢查的響應(yīng)字段:相當(dāng)于是要提取哪個位置的內(nèi)容數(shù)據(jù)
2)引用名稱:我們把內(nèi)容提取出來后要賦值給一個變量,這個變量在jmeter里就是應(yīng)用名稱,注意這里不能出現(xiàn)數(shù)字和一些亂七八糟的特殊符號,建議使用英文
3)正則表達式:代表這我們提取內(nèi)容的這段正則表達式 (下面內(nèi)容有詳細(xì)簡紹這個正則表達式如何填寫)
4)模板:提取內(nèi)容的模板,一般是$1$
5) 匹配數(shù)字:設(shè)置為 1 ,表示匹配返回數(shù)組的第一個元素內(nèi)容。
6)缺省值:不要管
小注意 當(dāng)配置后后我們就可以再其他地方把我們在正則表達式里設(shè)置的變量放到請求body或者是請求頭里邊了,這里要注意的是作用域的問題 ,假如我們再第一個接口里添加了提取器設(shè)置的變量名稱,在第二個接口里才設(shè)置提取器內(nèi)容的話,這樣在第一個接口是沒有數(shù)據(jù)的,應(yīng)該這個變量還沒有再第二個接口被賦值。。
小注意 當(dāng)我們使用正則表達式提取器將內(nèi)容提取出來后就是代入引用,只需要使用 ${引用名稱} 這個放在我們需要所提取的的位置就行啦 如 token=${引用名稱}
正則表達式:
- ():要提取的內(nèi)容
- .:匹配任意單個字符串
- *: 匹配(*之前的符號)0次或多次
- +:匹配(+之前的符號)1次或多次
- ?:不要太貪婪,在找到第一個匹配項后停止。
- .*:匹配連續(xù)0個/多個字符
- .+:匹配連續(xù)1個/多個字符
- \ :轉(zhuǎn)義,\.表示匹配字符.本身
小技巧:當(dāng)我們要驗證我們的正則表達式是否正確囊括的內(nèi)容是否是我們需要的內(nèi)容時,我們再jmeter里可以驗證
1,請求后在查看結(jié)果樹的頁面里,點擊我們想要提取數(shù)據(jù)的那一條結(jié)果信息,然后選擇regexp tester,會在相應(yīng)結(jié)果下面出現(xiàn)一個文本輸入框,在輸入框內(nèi)輸入我們的正則表達式后點擊右側(cè)的test就能出現(xiàn)我們的匹配內(nèi)容啦
2,實驗出結(jié)果,假設(shè)我要提取content=“”webkit“”里的webkit這個數(shù)據(jù)內(nèi)容,我再輸入框里輸入正則表達式 ="force-rendering" content="(.+?)"/>,然后可以看到我們的結(jié)果已經(jīng)出來了,數(shù)據(jù)以及拿到,見下圖
然后我們就可以將我們驗證通過的正則表達式 ="force-rendering" content="(.+?)"/> 復(fù)制粘貼到我們添加的功能”正則表達式提取器“里的”正則表達式“里面啦。
ps:可能有的朋友會說,我正則表達式不是很熟悉怎么辦,不知道該怎樣去填寫正則表達式,我這里教大家一個方法,就是我寫這篇文章所使用的方法,我們講我需要提取的內(nèi)容用(.+?)這一個正則來表示,也就是說我們在提取內(nèi)容時,所使用的正則是 : “需要提取的內(nèi)容左側(cè)的數(shù)據(jù)” (.+?) “需要提取內(nèi)容右側(cè)的數(shù)據(jù)”,通過這樣的方式就可以了,這種正則基本適用所有,不懂的小伙伴可以去詳讀這篇文章,在通過對比我這個方法,就能了解啦
總結(jié)
到此這篇關(guān)于jmeter正則表達式提取器的用法與正則的文章就介紹到這了,更多相關(guān)jmeter正則表達式提取器用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Security Oauth2.0認(rèn)證授權(quán)教程
Spring Security實現(xiàn)用戶認(rèn)證、會話管理及授權(quán),支持Token等多方式,OAuth2.0用于分布式系統(tǒng)統(tǒng)一認(rèn)證,網(wǎng)關(guān)解析令牌并轉(zhuǎn)發(fā)請求2025-07-07關(guān)于JAVA8的 Stream學(xué)習(xí)
這篇文章主要介紹了JAVA8 Stream學(xué)習(xí)方法的相關(guān)資料,需要的朋友可以參考下面文章內(nèi)容2021-09-09SpringBoot整合Mybatis Plus實現(xiàn)基本CRUD的示例代碼
Mybatis Plus是在Mybatis的基礎(chǔ)上的增強,使得我們對一些基本的CRUD使用起來更方便,本文主要介紹了SpringBoot整合Mybatis Plus實現(xiàn)基本CRUD的示例代碼,具有一定的參考價值,感興趣的可以了解一下2023-05-05Java分布式鎖理論(redis、zookeeper))案例詳解
zookeeper有個節(jié)點路徑的概念,節(jié)點路徑不能重復(fù),保證了唯一性,這篇文章給大家介紹Java分布式鎖理論(redis、zookeeper)?案例詳解,感興趣的朋友跟隨小編一起看看吧2024-01-01