Fiddler中設置斷點修改Request
Fiddler最強大的功能莫過於設置斷點了,設置好斷點后,你可以修改httpRequest 的任何信息包括host, cookie或者表單中的數據。設置斷點有兩種方法
第一種:打開Fiddler 點擊Rules-> Automatic Breakpoint ->Before Requests(這種方法會中斷所有的會話)
如何消除中斷呢? 點擊Rules-> Automatic Breakpoint ->Disabled
第二種: 在命令行中輸入命令: bpu www.baidu.com (這種方法只會中斷www.baidu.com)
如何消除命令呢? 在命令行中輸入命令 bpu
使用舉例:
以登錄舉例
1、中斷請求:bpu http://test.xxx.xxx.com/login.ht
2、選中這個請求
3、修改inspectors->raw里面的帳號密碼
4、點擊run to completion
5、取消中斷:bpu
Fiddler中設置斷點修改Response
當然Fiddler中也能修改Response:
第一種:打開Fiddler 點擊Rules-> Automatic Breakpoint ->After Response (這種方法會中斷所有的會話)
如何消除命令呢? 點擊Rules-> Automatic Breakpoint ->Disabled
第二種: 在命令行中輸入命令: bpuafter www.baidu.com (這種方法只會中斷www.baidu.com)
如何消除命令呢? 在命令行中輸入命令 bpuafter,
如何模擬Before Requests設置斷點
在項目的實踐過程中,經常遇到一個點擊事件,觸發兩個並行的請求,比如A、B兩個請求,哪個請求響應的比較快,則展示誰的數據。
在測試的時候,我們要測試三個場景:
用例編號 | 場景設計 | 預期結果 |
---|---|---|
test1 | 響應速度:A > B | 展示A |
test2 | 響應速度:A < B | 展示B |
test3 | 響應速度:A = B | 這種情況很臨界,幾率很小,暫時忽略不計 |
test4 | 響應速度:A B 在固定的時間內都沒有響應 | 沒有數據展示 |
如果完全依賴真實的網絡,很難能夠模擬去上述的場景,因為我們無法控制哪一個響應先返回,會很被動。
Fiddler有模擬斷點的功能來幫助我們:
1、打開Fiddler,Rules->Automatic Breakpoints ->點擊 Before Requests
2、這樣所有的請求在發送請求之前就被阻止了,如下圖所示,兩個並行的請求A(21)、B(22)都被阻止了:
3、要模擬測試用例的場景test1,需要讓A(21)響應請求,則需要將A(21)的阻止打開
4、雙擊A(21)的請求,在右下角點擊綠色的Run to Completion
5、之后A(21)的請求繼續自己的請求,返回200,請求成功,而B(22)的請求還在阻止
6、這樣就可以很輕松的模擬,其他的測試用例場景了
需要強調一下:
大家可以看到Rules->Automatic Breakpoints ->之后有兩個選項:Before Requests 、After Responses。這兩個選項都可以斷點,但是有什么不同呢,下面就為大家着重的介紹一下:
Before Requests :在請求發送之前,打斷點,所以可以調整發送的參數;
After Responses :在響應回來之前,打斷點,所以可以調整返回過來的數據;
兩者斷點的位置不一樣,所以能夠修改的數據不一樣,大家可以根據自己的需求選擇不同的斷點方式。