接Day16的腳本繼續(xù)進行
接口信息說明:
用戶管理模塊
登錄接口
api:post
method:post
request data:
{
"loginName":"IDO",
"passwd":"123"http://base編碼
}
退出接口:
api:get
method:get
添加用戶接口:
api:post
method:post
headers:{
"Content-Type":"application/json",
"token":""
}
request data:
{
"login_name":"IDO",
"phone":"13100000000",
"real_name":"老徐",
"token":""
}
刪除用戶接口
api:put
method:put
headers:{
"Content-Type":"application/json",
"token":""
}
request data:
{
"login_name":"IDO",
"phone":"13100000000",
"real_name":"老徐",
"token":""
}
博文管理模塊:
添加博文接口:
api:post
method:post
headers:{
"Content-Type":"application/json",
"token":""
}
request data:
{
"blog_name":"21天打卡",
"bolg_title":"Jmeter打卡之Day16",
"blog_details":"21天打卡",
"token":""
}
刪除博文接口:
api:delete
method:delete
headers:{
"Content-Type":"application/json",
"token":""
}
request data:
{
"blog_name":"21天打卡",
"bolg_title":"Jmeter打卡之Day16",
"blog_details":"21天打卡",
"token":""
}
1. 后置處理器說明
- 字面意思,后處理器在采樣器后應用。(注意,它們應用于同一作用域中的所有采樣器,因此為了確保后處理器僅應用于特定采樣器,將其添加為采樣器的子級)。
- 后處理器在斷言之前運行,因此它們無法訪問任何斷言結果,并且示例狀態(tài)也不會反映任何斷言的結果。
1.1 JSON提取器
JSON 后處理器使您能夠使用 JSON-PATH 語法從 JSON 響應中提取數(shù)據(jù)。此后處理器與正則表達式提取器非常相似。它必須作為 HTTP 采樣器或任何其他具有響應的采樣器的子級放置
不清楚JSON格式的請轉:JSON雜談
//JSON路徑
json.loginName

JSON提取器注釋

JSON提取調試示例
1.2 正則表達式提取器
使用 Perl 類型的正則表達式(不過多贅述正則表達式的類型)從服務器響應中提取值。作為后處理器,此元素將在其作用域中的 請求之后執(zhí)行,應用正則表達式、提取請求的值、生成模板字符串并將結果存儲到給定的變量名稱中。
//表達式
"loginName": ".*"
//這里面會存在幾個坑
1.表達式過濾出多個內容
2.想要多個表達式
3.不會寫正則

正則表達式提取器注釋

正則表達式調試示例
1.3 邊界提取器
- 不知道這個組件和正則表達式有什么區(qū)別,有點雞肋,個人不怎么用。
-
允許用戶使用左和右邊界從服務器響應中提取值。作為后處理器,此元素將在其作用域中的每個取樣器請求之后執(zhí)行,測試邊界、提取請求的值、生成模板字符串并將結果存儲到給定的變量名稱中。
邊界提取器注釋
邊界值提取器示例
1.4 其他處理器
//CSS提取器
https://jmeter.apache.org/usermanual/component_reference.html#CSS_Selector_Extractor
//XPath提取器
https://jmeter.apache.org/usermanual/component_reference.html#XPath2_Extractor
//結果狀態(tài)操作處理程序
https://jmeter.apache.org/usermanual/component_reference.html#Result_Status_Action_Handler
2.后置處理器使用場景
2.1 關聯(lián)接口
例如要測試一個場景:刪除數(shù)據(jù),那么要先完成(又叫數(shù)據(jù)依賴):
//先添加再刪除
登錄接口-->添加接口-->刪除接口-->退出接口
針對于這個場景進行分析:
- 1.刪除場景的開始:登錄完之后要拋出登錄信息token,作為全局變量,供后面使用
- 2.添加接口拿到token之后,進行數(shù)據(jù)添加,添加接口完成后要記錄添加的信息,然后把返回的數(shù)據(jù)ID,或者是其他字段取出來供刪除使用
- 3.刪除接口拿到添加接口的ID,然后根據(jù)ID進行刪除操作
- 4.刪除場景的閉環(huán):退出
2.2 清洗臟數(shù)據(jù)
例如要測試一個場景:添加數(shù)據(jù),那么完成后要把添加的數(shù)據(jù)進行刪除,如果不刪除的話,數(shù)據(jù)在庫里越堆越多,可能對下次測試造成影響(又叫數(shù)據(jù)清洗):
//先添加再刪除
登錄接口-->添加接口-->后置處理器(JDBC操作刪除SQL,刪除數(shù)據(jù))-->退出接口
針對于這個場景進行分析:
- 1.刪除場景的開始:登錄完之后要拋出登錄信息token,作為全局變量,供后面使用
- 2.添加接口拿到token之后,進行數(shù)據(jù)添加,添加接口完成后要記錄添加的信息,然后把返回的數(shù)據(jù)ID,或者是其他字段取出來供刪除使用
- 3.通過后置處理器的刪除SQL,然后進行刪除
- 4.刪除場景的閉環(huán):退出
3.作業(yè)場景
新增一個刪除博文的接口,針對一個刪除博文的場景進行測試。
要求:完成三次,分別使用以下三種后置處理器
- 1.JSON提取器
- 2.正則表達式提取器
- 3.邊界提取器
4.示例腳本
4.1 圖片示例

結構示例
4.2 腳本示例
鏈接:https://pan.baidu.com/s/1BtKypSWZW03zj2S_lZA5Ew
提取碼:175r
github地址
Day17.后置處理器JSON正則表達式邊界提取器完成刪除場景模擬測試

