打斷點(bpu)
1.為什麼要打斷點呢?
比如一個購買的金額輸入框,輸入框前端做了限制100-1000,那麼我們測試的時候,需要測試小於100的情況下。很顯然前端只能輸入大於100的。這是我們可以先抓到介面,修改請求引數,繞過前端,傳一個小於100的數,檢查服務端的功能是否OK。
也就是說介面測試其實是不需要管前端的,主要測後端的功能。Fiddler作為代理伺服器的作用其實就是為了驗證服務端功能。
2.Fiddler可以修改以下請求
- Fiddler設定斷點,可以修改HTTP請求頭資訊,如修改Cookie,User-Agent等
- 可以修改請求資料,突破錶單限制,提交任意數字,如充值最大100,可以修改成10000
- 攔截響應資料,修改響應體,如修改服務端返回的頁面資料
斷點的兩種方式
1.before response:這個是打在request請求的時候,未到達伺服器之前
2.after response:也就是伺服器響應之後,在Fiddler將響應傳回給客戶端之前。
全域性斷點
1.全域性斷點就是中斷fiddler捕獲的所有請求,先設定下,點選rules-> automatic breakpoint ->before requests,選完後左下方會有一個紅底藍字的大T,也可以在這個位置直接點出來。
點一次,紅底藍字:對請求斷點;點兩次,紅底綠字,對響應斷點;點三次,取消。
2.選中before requests選項後,開啟CNode的登入頁面
3.打完斷點後,會發現所有的請求都無法發出去了,這時候,點下Go按鈕,就能走下一步了
4.找到需要修改的請求後,選中該條會話,右側開啟WebFroms,這時候登入賬號密碼已經被捕捉到,也可以進行修改。
5.修改之後點Run to Completion就能提交了,於是就成功修改了請求引數了
看到紅T,一直點go就能發出去了。
6.打全域性斷點的話,是無法正常上網的,需要清除斷點:rules-> automatic breakpoint ->disabled
單個斷點
已經知道了某個介面的請求地址,這時候只需要針對這一條請求打斷點除錯,在命令列中輸入指令就可以了
1 比如獲取CNode社群的主題詳情請求,可以單獨把這個請求放到Comper裡面進行斷點。
攔截和修改的步驟一致。雙擊會話請求,在引數裡面進行修改,再點選run to completion即可。
我的是get請求,直接在Header裡面改,如果是Post請求在WebFroms裡面改。
響應後斷點(after requests)
1 和請求斷點一致,先設定下,點選rules-> automatic breakpoint ->after requests。也可以點兩次左下方那個位置。
2 以CNode社群的登入介面為例,輸入賬號密碼,fiddler進行捕捉。
我們可以在Raw裡面直接改返回引數,也可以在Choose Response改返回的狀態。
正常返回是這個效果
這是我改完之後的效果。
至此,Fiddler的學習就搞一段落,下期再見!