前言 先給大家講一則小故事,,在我們很小的時候是沒有手機(jī)的,,那時候跟女神聊天都靠小紙條。某屌絲A男對隔壁小王的隔壁女神C傾慕已久,,于是天天小紙條騷擾,,無奈中間隔著一個小王,這樣小王就負(fù)責(zé)傳小紙條了,。有一天小王忍不住偷偷打開A男表白的紙條,,把里面內(nèi)容改了下,改成了:我的同桌小王喜歡你,。最后女神C和小王走在了一起,。。,。這是一個悲傷的故事,! 一、斷點 1.為什么要打斷點呢,? 比如一個購買的金額輸入框,,輸入框前端做了限制100-1000,那么我們測試的時候,,需要測試小于100的情況下,。很顯然前端只能輸入大于100的。這是我們可以先抓到接口,,修改請求參數(shù),,繞過前端,傳一個小于100的數(shù),,檢查服務(wù)端的功能是否OK,。 也就是說接口測試其實是不需要管前端的,主要測后端的功能,。Fiddler作為代理服務(wù)器的作用其實就相當(dāng)于上面故事里面的小王,,傳紙條的作用,,F(xiàn)iddler(小王)修改了請求參數(shù)(小紙條),是為了驗證服務(wù)端功能(女神C),。 2.Fiddler可以修改以下請求 --Fiddler設(shè)置斷點,,可以修改HTTP請求頭信息,如修改Cookie,,User-Agent等 --可以修改請求數(shù)據(jù),,突破表單限制,提交任意數(shù)字,,如充值最大100,可以修改成10000 --攔截響應(yīng)數(shù)據(jù),,修改響應(yīng)體,如修改服務(wù)端返回的頁面數(shù)據(jù) 二,、斷點的兩種方式 1.before response:這個是打在request請求的時候,,未到達(dá)服務(wù)器之前 --屌絲A傳給小王的時候,小王在這個時候攔截了小紙條,,未傳給女神C 2.after response:也就是服務(wù)器響應(yīng)之后,,在Fiddler將響應(yīng)傳回給客戶端之前。 --女神C回了小紙條,,小王拿到后攔截了,,未傳給屌絲A 三、全局?jǐn)帱c 1.全局?jǐn)帱c就是中斷fiddler捕獲的所有請求,,先設(shè)置下,,點擊rules-> automatic breakpoint ->before requests 2.選中before requests選項后,打開博客園首頁:http://www.cnblogs.com/yoyoketang/,,看到如下T的標(biāo)識,,說明斷點成功 3.打完斷點后,會發(fā)現(xiàn)所有的請求都無法發(fā)出去了,,這時候,,點下Go按鈕,就能走下一步了 4.找到需要修改的請求后,,選中該條會話,,右側(cè)打開WebFroms,這時候里面的參數(shù)都是可以修改的了 5.修改之后點Run to Completion就能提交了,于是就成功修改了請求參數(shù)了 6.打全局?jǐn)帱c的話,,是無法正常上網(wǎng)的,,需要清除斷點:rules-> automatic breakpoint ->disabled 四、單個斷點 已經(jīng)知道了某個接口的請求地址,,這時候只需要針對這一條請求打斷點調(diào)試,,在命令行中輸入指令就可以了
1. 論壇登錄接口:https://passport.cnblogs.com/user/signin 2. 命令行輸入:bpu https://passport.cnblogs.com/user/signin 回車 3.請求登錄接口的時候,就會只攔截登錄這個接口了,此時可以修改任意請求參數(shù) 4.取消斷點,,在命令行輸入: bpu 回車就可以了 響應(yīng)后斷點(after requests): bpafter 1. 論壇登錄接口:https://passport.cnblogs.com/user/signin 2. 在命令行輸入:bpafter https://passport.cnblogs.com/user/signin 回車 3.登錄博客園,,會發(fā)現(xiàn)已經(jīng)攔截到登錄后服務(wù)器返回的數(shù)據(jù)了,此時可以修改任意返回數(shù)據(jù) 4.取消斷點,,在命令行輸入: bpafter 回車就可以了 五,、攔截來自某個網(wǎng)站所有請求 1.在命令行輸入:bpu www.cnblogs.com 2.打開博客園任意網(wǎng)頁,發(fā)現(xiàn)都被攔截到了 3.打開博客園其他網(wǎng)站,,其它網(wǎng)站可以正常請求 4.說明只攔截了來自部落論壇(www.cnblogs.com)的請求 5.清除輸入bpu回車即可 六,、、命令行其它相關(guān)指令 Bpafter,, Bps, bpv, bpm, bpu這幾個命令主要用于批量設(shè)置斷點 Bpafter xxx: 中斷 URL 包含指定字符的全部 session 響應(yīng) Bps xxx: 中斷 HTTP 響應(yīng)狀態(tài)為指定字符的全部 session 響應(yīng) Bpv xxx: 中斷指定請求方式的全部 session 響應(yīng) Bpm xxx: 中斷指定請求方式的全部 session 響應(yīng) ,、、同于 bpv xxx Bpu xxx:與bpafter類似 當(dāng)這些命令沒有加參數(shù)時,,會清空所有設(shè)置了斷點的HTTP請求。 (贈言:打斷點僅供于測試需要,,勿走邪門歪道?。。,。?br> 對fiddler這個工具感興趣,,或者對python接口自動化有興趣的,可以加python接口自動化QQ群:226296743 也可以關(guān)注下我的個人公眾號:
|
|