一個正則提取問題
安裝Dummy插件
勾選后,點擊右下方開始安裝,安裝完成后會自動重啟jmeter。

模擬響應
添加線程組,在線程組下添加Dummy取樣器(在Dummy取樣器的響應數據中填入模擬返回數據)、查看結果樹監聽器,在Dummy下添加正則表達式提取器、調試后置處理程序(用於查看提取結果的)。
正則基礎
參考:https://baike.baidu.com/item/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E4%B9%8B%E9%81%93
. 匹配除“\r\n”之外的任何單個字符。要匹配包括“\r\n”在內的任何字符,請使用像“[\s\S]”的模式。
* 匹配前面的子表達式(也可以是一個字符)任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等價於o{0,}
+ 匹配前面的子表達式一次或多次(大於等於1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等價於{1,}。
? 匹配前面的子表達式零次或一次。例如,“do(es)?”可以匹配“do”或“does”中的“do”。?等價於{0,1}。
組合:
.*具有貪婪的性質,匹配到不能匹配為止,最大匹配原則。
+或*后跟?表示非貪婪匹配,即盡可能少的匹配,最小匹配原則。
.*? 表示在能匹配成功的前提下盡可能少的匹配,最小匹配原則。
正則表達式提取器
Apply to:一般保持默認選擇Main sample only,這個用得最多,如果有sub-samples,可以選擇第一個選項
要檢查的響應字段:用得最多的是主體,即header+body,可以從響應頭,也可以從響應體提取
引用名稱:變量名,獲取到的值存儲到這個變量中
正則表達式:根據實際情況填寫
模板:$1$,表示第一個正則表達式,如果有2個正則表達式,寫為$1$$2$
匹配數字(0代表隨機):一般填1,表示第一個,0表示隨機,-1表示全部(此時提取結果是一個數組,如果引用名稱是user,也可以通過${user_1}的方式來取第1個匹配的內容)
缺省值:沒匹配到就用缺省值,我們可以設置一個,比如aaaaaa
name和value提取為一個字符串
運行結果
也可以用其它字符拼接,比如-,即如果模板寫為:$1$-$2$,結果就是:nameandvalue=tom-jerry
name和value分別保存
namevalue
運行結果

ok,就是這么簡單,你覺得呢?歡迎交流。加群獲取jxm腳本。