前言:
正則表達(dá)式在Jmeter的用處非常廣,包括常用的正則表達(dá)式提取器,還有其它一些函數(shù)或者配置元件之類的。
| 元字符 | 意義 | 限定符 | 意義 |
|---|---|---|---|
| . | 任意單個(gè)字符 | + | 匹配至少大于1次 |
| \d | 任意單個(gè)數(shù)字 | ? | 匹配0次或1次 |
| [0-9] | 等價(jià)0-9 | * | 匹配0次或多次 貪婪匹配 |
| [a-zA-Z] | 等價(jià)所有的大小寫字母 | {n,}、{n,m}、{n} | 匹配限定次數(shù) |
舉個(gè)例子:
一般用法:元字符+限定符
匹配手機(jī)號(hào):13800138001
寫法如:\d{11},\d+,[0-9]{11},.{11} 等
可以搜索 在線正則表達(dá)式 網(wǎng)站查看匹配結(jié)果
正則表達(dá)式提取器
如果想在某個(gè)請(qǐng)求的響應(yīng)結(jié)果里面拿到某個(gè)值,那么我們就可以使用正則表達(dá)式提取器。
操作步驟(提取uid):
響應(yīng)結(jié)果:{"uid":20450674,"mail":"","areaCode":"+86","mobile":"13800138001","sid":"6395efe4e4ae2a746f7d495f5dd5d38c"}
1、確定接口的左右邊界
2、寫正則表達(dá)式:"uid":(\d*),
3、添加Debug Sampler(調(diào)試取樣器)查看正則表達(dá)式提取是否正確

以登錄接口為例子,找到正則表達(dá)式提取器的位置

Debug Sampler(調(diào)試取樣器)
① 先跑一個(gè)正則表達(dá)式
說兩句:
1、模板,選擇第一個(gè)匹配的字段,填$1$,用$$引用起來(lái),如果在正則表達(dá)式中有多個(gè)正則表達(dá)式,則可以是$2$$3$等等,表示解析到的第幾個(gè)值給id。如:$1$表示解析到的第1個(gè)值;
2、匹配數(shù)字,0代表隨機(jī)取值,-1表示全部,1第一個(gè),2第二個(gè);
3、缺省值如果參數(shù)沒有取得到值,那默認(rèn)給一個(gè)值讓它取??商羁刹惶?,看具體使用場(chǎng)景。


成功提取 uid
② 如果要跑兩個(gè)怎么做
步驟
1、這次增加一個(gè) 提取sid 的正則表達(dá)式提取器
2、模板改為 $2$,因?yàn)椤?”被剛剛的uid占用了


成功提取uid和sid
后記:
正則表達(dá)式其實(shí)是一門很高深的學(xué)問,文中提到的符號(hào)不過是冰山一角,想要精通正則表達(dá)式,不管你我都需要多多學(xué)習(xí)才行哈~
