為什麼要先學fiddler?
學習介面測試必學http協議,如果直接先講協議,我估計小夥伴們更懵,為了更好的理解協議,先從抓包開始。
結合抓包工具講http協議更容易學一些。

抓firefox上https請求
fiddler是一個很好的抓包工具,預設是抓http請求的,對於pc上的https請求,會提示網頁不安全,這時候需要在瀏覽器上安裝證書。

網頁不安全
1.用fiddler抓包時候,開啟百度網頁:https://www.baidu.com
2.提示:網頁不安全

抓包工具fiddler
Fiddler4工作原理:
Fiddler 是以代理web伺服器的形式工作的,它使用代理地址:127.0.0.1,埠:8888,這時fiddler的預設埠,也就是說我們傳送的每一個請求和收到的每一個響應都會先經過fiddler,這樣就實現了抓取資料包的工作。當Fiddler退出的時候它會自動登出,這樣就不會影響別的程式。不過如果Fiddler非正常退出,這時候因為Fiddler沒有自動登出,會造成網頁無法訪問。解決的辦法是重新啟動下Fiddler。

安裝和使用的時候需要關閉防毒軟體!

抓取http
fiddler預設就可以抓取電腦的http請求,可以檢視statistics資訊,可以檢視抓取包的開始時間及響應時間,Inspectors選項可以檢視請求和響應的詳細資訊。Raw表示原資料格式,還可以檢視fiddler日誌等。

抓取https

Fiddler預設是不可以抓取https協議的,需要進行配置,如果沒有進行配置,在開啟https協議的網頁的時候會提示風險,所以為了能抓取網際網路網頁,可以先進行https配置。

配置https協議:

勾選這三個選項,然後點選actions,選擇將證書生成到桌面上,再在瀏覽器的證書管理中,匯入fiddler的證書。

通過以上步驟就可以抓取https的協議了。

注意事項:

在進行本機抓取和遠端抓取(手機)的時候注意這裡的切換。

過濾請求:

開啟fiddler,找到Filters選項並點選開啟。

設定完後需要在actions裡面選擇執行設定選項,不選其實也可以,另外在選擇了域名篩選後,又選擇了程序,有時候會抓取不出來域名的。

以上隱藏的意思是指在左側不會顯示抓取該域名的包請求,格式支援萬用字元*,

顯示的話就是正常顯示出來,標記的話就是在左側會加粗顯示這些域名的請求。

其它過濾還可以通過請求頭,響應狀態,響應頭等條件進行篩選,但通常使用域名或者程序就完全足夠了。

以上過濾時記的在設定完過濾條件後一定要選擇actions runfilterset now以馬上生效。

抓取手機app
在抓取手機的請求時,有時候需要關閉電腦防火牆,配置好https的抓包請求,然後將手機連線的wifi設定為代理,代理的ip就是電腦的wifi IP,埠為fiddler上面設定的埠,再設定為DHCP,然後訪問手機上面的app或者是瀏覽器fiddler就可以抓取到了。

關於手機證書問題,手機瀏覽器輸入電腦的ip加埠後會提示下載fiddler證書,點選下載後安裝就可以了。

注意事項:

1)在PC切換wifi網路後,ip會變化,那麼在手機端,需要重新安裝一下FiddlerRoot certificate 安全證書,然後重新設定代理。

2)如果在設定代理後,手機不能正常開啟網頁,很多時候都是由於Fiddler的安裝證書存在問題,比如沒有被授權。

3)不同的手機,安裝Fiddler Root certificate 證書的時候,有點不一樣,比如小米手機比較特別,方法不一樣。

4)針對Anderiod 7.1以上的手機抓包時,需要做另外的授權等處理方法。

弱網測試設定:
為什麼要進行弱網測試?
按照移動特性,各種網路連線協議不同,導致通訊的訊號不同,速率也不同,影響應用的載入時間、可用性、穩定性。

二、什麼樣的網路屬於弱網?
低於2g速率的時候都屬於弱網也可以將3g劃分為弱網 一般wifi不納入弱網測試範圍。

三、如何進行弱網測試?
1.SIM卡的網路切換
手機-設定-行動網路設定-網路型別選擇
3G卡有3種模式:1.只使用2G網路 2.只使用3G網路 3.3G網路優先
根據手機型號的不同,上面的選項可以會稍有變化。
因為電信、移動、聯通的速率各不相同所以可以取速率最低的值進行測試。
2. 使用虛擬機器模擬網路速率
3. 使用Fiddler來進行網路代理。

fiddler模擬限速的原理

我們可以通過fiddler來模擬限速,因為fiddler本來就是個代理,它提供了客戶端請求前和伺服器響應前的回撥介面,我們可以在這些接口裡 面自定義一些邏輯。Fiddler的模擬限速正是在客戶端請求前來自定義限速的邏輯,此邏輯是通過延遲傳送資料或接收的資料的時間來限制網路的下載速度和 上傳速度,從而達到限速的效果。

方法:

選擇fiddler選單 Rules → Performances → Simulate Modem Speeds :模擬調變解調器的速度

然後選擇Rules—>Cutomize Rules開啟CustomRules.js 文件

在該文件中查詢到m_SimulateModem,該方法就是用來設定弱網的。

更改原則 :

讓我們來分析一下這幾行程式碼:

首先來判斷m_SimulateModem是否為true,也就是是否設定了弱網模式。

如果為弱網模式。則分析程式碼oSession[“request-trickle-delay”] = “300”; 註釋的也很明白,Delay sends by 300ms per KB uploaded.上傳1KB需要300ms,轉化一下上傳速度:1Kb/0.3s = 10/3(KB/s)

如果你想設定上傳的速度為50KB/s,你則需要設定Delay 時間為 20ms

同樣的方法,也可以限制上傳的速度,調整oSession[“response-trickle-delay”]即可。

通過以上學習至少達到可以抓取自己想要的資訊,並且可以抓取到手機端的請求。

瀏覽器本身對請求時F12就可以看到請求資訊。瀏覽器的使用。

感謝每一個認真閱讀我文章的人,看著粉絲一路的上漲和關注,禮尚往來總是要有的,如果下面這些資料你用得到的話可以直接拿走:

① 自學必備的完整專案 (包括原始碼和環境,可以自己安裝在本地使用)

② 測試計劃模板,測試用例設計模組,功能測試報告模組等(涵蓋了測試工作中所有模組)

③ 軟體測試經典面試題(筆者根據自己10多年測試經驗整理)

④ selenium+Python(Java)自動化測試實戰.pdf,(包括了Python以及Java自動化的所有知識點)

⑤ 軟體測試(自動化測試)學習路線圖(從此自學有了方向不在迷茫)

⑥ 簡歷模板

在我的QQ技術交流群裡整理了我這10幾年軟體測試生涯整理的一些技術資料,包括:電子書,簡歷模組,各種工作模板,面試寶典,自學專案等。如果在學習或工作中遇到問題,群裡也會有大神幫忙解答,群號 798478386 ( 備註555 )