Fiddler中設(shè)置斷點(diǎn)修改Request
Fiddler最強(qiáng)大的功能莫過(guò)于設(shè)置斷點(diǎn)了,設(shè)置好斷點(diǎn)后路克,你可以修改httpRequest 的任何信息包括host, cookie或者表單中的數(shù)據(jù)。設(shè)置斷點(diǎn)有兩種方法
第一種:打開(kāi)Fiddler 點(diǎn)擊Rules-> Automatic Breakpoint? ->Before Requests(這種方法會(huì)中斷所有的會(huì)話(huà))
如何消除中斷呢拗军?? 點(diǎn)擊Rules-> Automatic Breakpoint? ->Disabled
第二種:? 在命令行中輸入命令:? bpu www.baidu.com?? (這種方法只會(huì)中斷www.baidu.com)
如何消除命令呢殊轴?? 在命令行中輸入命令 bpu
使用舉例:
以登錄舉例
1、中斷請(qǐng)求:bpu ?http://test.xxx.xxx.com/login.ht
2座云、選中這個(gè)請(qǐng)求
3疙赠、修改inspectors->raw里面的帳號(hào)密碼
4、點(diǎn)擊run to completion
5朦拖、取消中斷:bpu
Fiddler中設(shè)置斷點(diǎn)修改Response
當(dāng)然Fiddler中也能修改Response:
第一種:打開(kāi)Fiddler?點(diǎn)擊Rules->?Automatic?Breakpoint??->After?Response??(這種方法會(huì)中斷所有的會(huì)話(huà))
如何消除命令呢圃阳???點(diǎn)擊Rules->?Automatic?Breakpoint??->Disabled
第二種:??在命令行中輸入命令:??bpuafter?www.baidu.com???(這種方法只會(huì)中斷www.baidu.com)
如何消除命令呢???在命令行中輸入命令?bpuafter,
如何模擬Before?Requests設(shè)置斷點(diǎn)
在項(xiàng)目的實(shí)踐過(guò)程中璧帝,經(jīng)常遇到一個(gè)點(diǎn)擊事件捍岳,觸發(fā)兩個(gè)并行的請(qǐng)求,比如A、B兩個(gè)請(qǐng)求锣夹,哪個(gè)請(qǐng)求響應(yīng)的比較快页徐,則展示誰(shuí)的數(shù)據(jù)。
在測(cè)試的時(shí)候晕城,我們要測(cè)試三個(gè)場(chǎng)景:
用例編號(hào)場(chǎng)景設(shè)計(jì)預(yù)期結(jié)果
test1響應(yīng)速度:A?>?B展示A
test2響應(yīng)速度:A?<?B展示B
test3響應(yīng)速度:A?=?B這種情況很臨界泞坦,幾率很小,暫時(shí)忽略不計(jì)
test4響應(yīng)速度:A?B?在固定的時(shí)間內(nèi)都沒(méi)有響應(yīng)沒(méi)有數(shù)據(jù)展示
如果完全依賴(lài)真實(shí)的網(wǎng)絡(luò)砖顷,很難能夠模擬去上述的場(chǎng)景贰锁,因?yàn)槲覀儫o(wú)法控制哪一個(gè)響應(yīng)先返回,會(huì)很被動(dòng)滤蝠。
Fiddler有模擬斷點(diǎn)的功能來(lái)幫助我們:
1豌熄、打開(kāi)Fiddler,Rules->Automatic?Breakpoints?->點(diǎn)擊?Before?Requests
2物咳、這樣所有的請(qǐng)求在發(fā)送請(qǐng)求之前就被阻止了锣险,如下圖所示,兩個(gè)并行的請(qǐng)求A(21)览闰、B(22)都被阻止了:
3芯肤、要模擬測(cè)試用例的場(chǎng)景test1,需要讓A(21)響應(yīng)請(qǐng)求压鉴,則需要將A(21)的阻止打開(kāi)
4崖咨、雙擊A(21)的請(qǐng)求,在右下角點(diǎn)擊綠色的Run?to?Completion
5油吭、之后A(21)的請(qǐng)求繼續(xù)自己的請(qǐng)求击蹲,返回200,請(qǐng)求成功婉宰,而B(niǎo)(22)的請(qǐng)求還在阻止
6歌豺、這樣就可以很輕松的模擬,其他的測(cè)試用例場(chǎng)景了
需要強(qiáng)調(diào)一下:
大家可以看到Rules->Automatic?Breakpoints?->之后有兩個(gè)選項(xiàng):Before?Requests?心包、After?Responses类咧。這兩個(gè)選項(xiàng)都可以斷點(diǎn),但是有什么不同呢蟹腾,下面就為大家著重的介紹一下:
Before?Requests?:在請(qǐng)求發(fā)送之前痕惋,打斷點(diǎn),所以可以調(diào)整發(fā)送的參數(shù)岭佳;
After?Responses?:在響應(yīng)回來(lái)之前血巍,打斷點(diǎn)萧锉,所以可以調(diào)整返回過(guò)來(lái)的數(shù)據(jù)珊随;
兩者斷點(diǎn)的位置不一樣,所以能夠修改的數(shù)據(jù)不一樣,大家可以根據(jù)自己的需求選擇不同的斷點(diǎn)方式叶洞。