Jmeter工具使用--Regular Expression Extractor

正則表達式,常用具有特殊含義的字符:
(和):界定期望獲取字符串的匹配模式
.(字符點):匹配任何單個字符
+:一次或者多次
?:找到匹配的結果後立刻停止查找
\:轉義字符
[ ]:匹配符合[]內的字符
[0-9]:匹配所有數字字符
[a-z]:匹配所有小寫字母字符
[^0-9]:匹配所有非數字字符
[^a-z]:匹配所有非小寫字母字符
^:匹配字符開頭的字符
$:匹配字符結尾的字符

  • 比如我這裏請求訪問百度個人中心
  • 添加正則表達式獲取session:Thread Group--Add--Post Processors--Regular Expression Extractor
  • 配置Regular Expression Extractor,Regular Expression字段可以配置爲:PHPSESSID=(.+);或PHPSESSID=(.+?);PHPSESSID=([a-z0-9]+);
APPly to:作用範圍:
1、Main sample and sub-samples:作用於主節點的取樣器及對應子節點的取樣器
2、Main sample only:僅作用於主節點的取樣器
3、Sub-samples only:僅作用於子節點的取樣器
4、JMeter Variable:作用於jmeter變量(輸入框內可輸入jmeter的變量名稱),從指定變量值中提取需要的值。
Field to check:要檢查的響應報文的範圍:
1、主體:響應報文的主體,最常用
2、Body(unescaped):主體,是替換了所有的html轉義符的響應主體內容,注意html轉義符處理時不考慮上下文,因此可能有不正確的轉換,不太建議使用
3、Body as a Document:從不同類型的文件中提取文本,注意這個選項比較影響性能
4、Response Headers:響應信息頭(如果你使用的是中文版的Jmeter,會看到這一項是信息頭,這是中文翻譯問題,應以英文爲準)
5、Request Headers:請求信息頭,提取session時可以用到
6、URL:請求url
7、Response Code:響應狀態碼,比如200、404等
8、Response Message:響應信息
Name of created varialies:即下一個請求要引用的參數名稱,如填寫access_token,則可用 ${access_token}引用它。
Regular Expression:使用正則表達式解析響應結果,()括號表示提取字符串中的部分值,前後是提取的邊界內容。
Template:正則表達式的提取模式,如果正則表達式有多個提取結果(一個正則可以同時獲取多個數值),則結果是數組形式,模板$1$,$2$等等,表示把解析到的第幾個值賦給變量;從1開始匹配,以此類推,$0$標識全文匹配。若只有一個結果,則只能是$1$;
Match No:匹配時往往出現匹配結果爲多個值的情況,正則表達式匹配數據的結果可以看做一個數組,表示如何取值:0代表隨機取值,正數n則表示取第n個值(比如1代表取第一個值),負數則表示提取所有符合條件的值,可以與 For Each Controller 一起用來遍歷。
Default Value:缺省值,匹配失敗時候的默認填寫值。

session_g=1 :表示匹配到的次數
session_g0:返回Regular Expression所有內容
session_g1:匹配到第一個的值,當獲取到了多個值時會有session_g2,以此類推
下面接口如果想用多個值,則引用 ${session_g1}.......以此類推

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章