目錄:導讀
- 前言
- 一、Python編程入門到精通
- 二、接口自動化項目實戰
- 三、Web自動化項目實戰
- 四、App自動化項目實戰
- 五、一線大廠簡歷
- 六、測試開發DevOps體系
- 七、常用自動化測試工具
- 八、JMeter性能測試
- 九、總結(尾部小驚喜)
前言
在測試時,我們經常需處理請求返回的響應數據,比如很多時候 cookie 或 token 或 Authorization授權碼 會返回在 Response headers(響應頭)中,這時我們便需要從中進行提取,以供其他接口使用。
如何在Jmeter中通過正則提取響應數據中 Response headers 的數據?
總的設置界面如下:
發送請求,獲取響應數據
首先,設置一個HTTP請求,如下:
接著,設置一個察看結果樹,然后執行,得到響應數據,下圖中的cookie即我們需要提取的數據:
正則提取響應數據
接下來,我們便設置一個正則提取器(用于提取出cookie),另外再設置一個調試后置處理程序(用于查看提取結果)
說明:
1、引用名稱:即變量名,后續請求中可以通過 引用名稱來調用 2 、正則表達式:按實際情況填寫 3 、模板: {引用名稱} 來調用 2、正則表達式:按實際情況填寫 3、模板: 引用名稱來調用2、正則表達式:按實際情況填寫3、模板:$表示需要哪個正則表達式獲取的值,1代表第一個,-1代表全部,0代表隨機
4、匹配數字:1代表第一個,-1代表全部,0代表隨機
5、缺省值:如果正則未匹配到,就會使用缺省值
正則說明:
.:表示除“\r\n”之外的任意字符
*:表示匹配前面的子表達式任意次
+:表示匹配前面的子表達式1次或多次
?:表示匹配前面的子表達式0次或1次
.*:貪婪匹配原則,即匹配到不能匹配為止
.*?:非貪婪匹配,即在匹配成功的情況下盡可能少的匹配
實例:
存在字符串 7adbcfgfbesw ,要匹配7和b之間的字符
匹配1:使用 .* ,7開始之后,遇到第一個b不結束,繼續找下一個b,直到不能匹配,即匹配到 adbcfgf匹配2:使用 .*? ,7開始之后,遇到第一個b就結束了,即匹配到 ad
查看提取結果提取結果
以上就是本次的提取結果,在這里,如果需在后續請求使用,可通過 ${response_data} 來關聯調用。
可能遇到的問題
假如,我們需提取 Set-Cookie 里的所有內容。此時,如果依然使用 .*? ,就會發現提取是不成功的,如下:
要解決這個問題也很簡單,我們修改正則表達式,使用 .* 貪婪匹配原則既可以。
以上就是通過Jmeter正則提取的內容,提取其他數據,如 token 、 Authorization 等的方法與上面類似。
下面是我整理的2023年最全的軟件測試工程師學習知識架構體系圖 |
一、Python編程入門到精通
二、接口自動化項目實戰
三、Web自動化項目實戰
四、App自動化項目實戰
五、一線大廠簡歷
六、測試開發DevOps體系
七、常用自動化測試工具
八、JMeter性能測試
九、總結(尾部小驚喜)
奮斗如彩虹般絢麗,需要經歷風雨才能見其美麗。堅持不懈的努力將點亮前行的路,讓夢想的火焰燃燒心間。相信自己的力量,勇往直前。
在每一個拼搏的瞬間,都是重新定義自己的機會。不論前方有多少險阻,只要心懷勇氣與決心,努力奮斗,終將超越自我,閃耀出屬于自己的光芒。
每一次的努力都是自己向前進的勇氣,每一次的奮斗都是追尋夢想的腳步。不論遇到多少艱難險阻,堅持執著,秉持著信念與熱情,你將以自己的汗水和智慧,創造出絢麗而輝煌的人生篇章!