測試的時候,需求修改request或response的某些數據,可以使用fiddler實現。有兩種方法:
方法一:臨時修改
fiddler菜單欄->Rules->automatic Breakpoints->選擇斷點方式,這種方式下設定的斷點會對之后的所有HTTP請求有效。有兩個斷點位置:
(1)before requests:也就是瀏覽器發送請求之后,但是Fiddler代理中轉之前,這時可以修改請求的數據。快捷鍵F11。
(2)after responses:也就是服務器響應之后,但是在Fiddler將響應中轉給瀏覽器之前。這時可以修改響應的結果。快捷鍵ALT+F11。
(3)Disabled:取消斷點。快捷鍵Shift+F11。
或是通過快捷工具按鈕,左下角第3個按鈕,點擊第一次向上的箭頭是before requests,再點一次是向下的箭頭after responses,再點一次是取消斷點。

設置好后(如設的before requests),在瀏覽器觸發請求,在fiddler選中請求,在右側Inspector-WebForms修改請求參數,如size正常是5,我們可以改成10,然后點擊Run to Completion。這樣最終向服務器發送的參數size就是10了。

同理,我們也可以修改返回的數據。設置好后(after responses),觸發請求,選中,在右側Inspector下方修改返回數據,這次是在TextView欄,其實下面哪欄都行,只要是顯示數據的欄就行,只是顯示格式不一致罷了。比如我們可以把count改成10,然后點擊Run to Completion。

方法二:永久修改
fiddler菜單欄->Rules->Customize Rules,打開Fiddler ScriptEditor,搜索OnBeforeRequest
比如上面第一個例子,我要把size從5改成20,代碼如下:
if (oSession.fullUrl.Contains("/api/pg/project/list?project_type=scientific")){
oSession.url = oSession.url.Replace("size=5","size=20");
}

編寫完保存關閉,再請求,fiddler直接就替換不需要手工干預了。如果是要改返回數據則在OnBeforeResponse函數中添加代碼。
記得添加后就永久生效了,測試完后記得把代碼注釋掉,以防出現誤測。
---------------------------------------------------------------------------------
關注微信公眾號(測試工程師小站)即可在手機上查閱,並可接收更多測試分享,發送【測試資料】更可獲取百G測試教程~

