Jmeter基础006----Jmeter关联(重点)
一、Jmeter關聯概述
1、概述
在性能測試腳本中,常常出現上一個請求的返回結果中包含了下一個請求需要發送的參數,這就是關聯。關聯實質是請求與請求之間存在數據依賴關系,一個請求的結果是另一個請求提交的數據,兩個請求不再是獨立存在的。
2、關聯的一般步驟
從上一個請求提取關心的數據保存到變量
在下一個請求引用該變量 ${變量名}。
3、關聯的使用方法
JDBC將操作結果賦值給變量,再在另一個請求中調用變量
正則表達式提取器
XPath提取器
Css/Jquary提取器
Json提取器
BeanShell等具有提取功能的后置處理器
二、關聯之XPath提取器
1、需求:
在Google中打開百度界面-----將百度請求得到的tltle標簽值作為google請求的請求數據進行請求
2、實現過程:
(1)創建訪問百度和訪問Google的HTTP請求,如下圖所示,Google請求的路徑先不填寫。
(2)查看結果樹,并將訪問百度請求的響應結果的格式修改為HTML格式,如下圖所示:
(3)在訪問百度請求上右鍵----添加----后置處理器----Xpath Extractor,創建Xpath提取器,定義變量并編寫Xpath路徑,如下圖所示:
(4)修改google中的請求路徑,調用定義的變量,如下圖所示:
(5)運行測試計劃,查看結果樹的顯示結果,如下圖所示:
三、參數化之正則表達式提取器
1、正則表達式
正則表達式,又稱規則表達式,正則表達式通常被用來檢索 、替換那些符合某個規則的文本。詳情資料:https://www.w3cschool.cn/regexp/tfua1pq5.html
2、需求
查詢接口查詢某個學院信息,并使用百度進行搜索該學院信息。
3、實現過程
(1)創建查詢某個學院信息的HTTP請求,運行測試計劃,查看結果樹,并修改請求結果的格式為JSON格式,如下圖所示:
(2)查詢某個學院信息的HTTP請求右鍵-----添加-----后置處理器-----正則表達式提取器,新建正則表達式提取器并編輯提取器中的變量名、正則表達式、模板、匹配數字等,如下圖所示:
注:當匹配數字為0時獲取到的是隨機的學院信息,當為2時,獲取的時第二個學院信息。不加?匹配到最后一個結束標記(;,);加?表示匹配到第一個結束標記。
(3)創建百度訪問請求,修改訪問路徑,調用正則表達式提取器中定義的變量,如下圖所示:
(4)運行測試計劃,查看結果樹
4、正則表達式提取器設置
(1)引用名稱:下一個請求要引用的參數名稱,如填寫title,則可用${title}引用它。
(2)正則表達式:制定規則的公式,公式模板:前綴識別()后綴識別
():括號括起來的部分就是要提取的數據
. :點表示匹配字符
+ :代表+號前面的字符必須至少出現一次(一次或多次)
?:在找到第一個匹配項后停止
* :匹配規則內所有的字符串
(3)模板:$$格式:如果只有一個模板,一般就填寫$?1$,也可有多個模板,如$1$…3$等等,表示解析到的第幾個值給保存到定義的變量中。如:$1$表示解析到的第1個值;
(4)匹配數字:表示將第幾個匹配結果返回。0代表隨機取值,1代表全部取值,通常情況下填0
(5)缺省值:如果參數沒有取得到值,那默認給一個值讓它取
三、總結
1、使用場景:一個請求的響應數據作為另一個請求提交的數據
2、 優點:使用關聯可以組織多樣的業務邏輯
3、實現方案1:XPath 提取器(html 等標簽語言)
實現方案2:正 則表達式提取器(普通文本)
.:表示任意字符
*:任意字符串
+:一個或多個
?:到第一個結束標記
():聲明截取的區間范圍
4、選用:如果從標簽(HTML|XML)語言提取數據最好使用Xpath提取器,如果想要的數據是文本格式,則使用正則表達式比較方便。
5、注意:提取器必須放在請求下面,如下圖所示:
注:可通過線程組右鍵----添加----取樣器----debug sampler,查看提取器是否獲取到值。
注:正則表達式提取器中若正則表達式是JSON格式,冒號后沒有空格,否則可能導致無法解析出來。
總結
以上是生活随笔為你收集整理的Jmeter基础006----Jmeter关联(重点)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上海南翔古镇(上海嘉定的南翔古镇)
- 下一篇: 无线局域网络 WIFI/WAPI/WLA