Day17.后置處理器_JSON_正則表達式_邊界提取器_完成刪除場景模擬測試

接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正則表達式邊界提取器完成刪除場景模擬測試

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容