不可不知的輔助測試的Fiddler小技巧,Fiddler抓包工具使用詳解,利用Fiddler攔截接口請求並篡改數據,Fiddler使用過程中容易忽略的小技巧,Mock測試,結合Fiddler輕鬆搞定不同場景_包裝設計

※產品缺大量曝光嗎?你需要的是一流包裝設計!

窩窩觸角包含自媒體、自有平台及其他國家營銷業務等,多角化經營並具有國際觀的永續理念。

在以前的博文中,時常有分享Fiddler的一些使用技巧,今天再貼下。

Fiddler抓包工具使用詳解

利用Fiddler攔截接口請求並篡改數據

Fiddler使用過程中容易忽略的小技巧

Mock測試,結合Fiddler輕鬆搞定不同場景

以上這些,就是以前的一些實踐總結。今天,再來分享一個不可不知的小技巧,實際工作當中,是可以輔助自己完成測試的。

模擬弱網

相信大家在進行測試過程中,都會關注到弱網測試。web端是可以通過瀏覽器的開發者工具中的Network設置網絡數據,app端也可以通過切換網絡的形式來進行測試。

其實,Fiddler也是支持模擬弱網測試的。通過Fiddler設置后,web和app都可以一併模式。

固定延遲設置方式

啟動Fiddler工具>找到FiddlerScript頁簽>按m_SimulateModem搜索。

找到如下所示內容【限速函數】,修改參數即可:

修改代碼中的參數,將300修改為3000,也就是3S,如下:

if (m_SimulateModem) {
            // Delay sends by 300ms per KB uploaded.
            oSession["request-trickle-delay"] = "3000"; 
            // Delay receives by 150ms per KB downloaded.
            oSession["response-trickle-delay"] = "150"; 
        }  

此時,保存修改后的Script代碼即可,如下所示:

數據保存后,如何使其生效呢?按如下操作即可。

在Fiddler中,按如下路徑配置即可:Rules>Performance>Simulate Modem Speeds。

具體操作,如下圖所示:

此時,再刷新頁面,我們可以從Fiddler面板中的Time參數看出,每個接口的響應時間都延時3s,如下所示:

網絡延遲時間如何計算?

比如你要模擬上傳速度100KBps的網絡,那上傳延遲就是1KB/100KBps=0.01s=10ms,就改成10。

隨機延遲設置方式

我們從上述操作看出,配置限速參數后,每個接口都是固定的延遲時間。但實際使用場景中,這種情況是比較少的。基本上都是有時快,有時慢的情況。那是否可以設置隨機延遲呢?答案肯定是可以的。我們繼續來看。

我們依然在FiddlerScript頁簽中操作,加入如下代碼,代碼如下所示:

static function randInt(min, max) {
  return Math.round(Math.random()*(max-min)+min);
  }
  if (m_SimulateModem) {
  // Delay sends by 300ms per KB uploaded.
  oSession["request-trickle-delay"] = ""+randInt(1,2000);
  // Delay receives by 150ms per KB downloaded.
  oSession["response-trickle-delay"] = ""+randInt(1,2000);
  }  

保存修改后的代碼,並重新啟用配置即可。

模擬發包

測試過程中,想模擬一個接口請求,一般是通過Postman、Jmeter、soupUI,常用的是Postman。我們Fiddler能不能模擬接口請求呢?這個是可以的,我們來看。

我們切換到Composer頁簽,如下所示:

從圖中可知,是可以模擬很多種請求方式的。我們就來實際操作一番。

POST請求

我們先來操作個POST請求,選擇POST請求方式,填寫接口與參數如下:

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網動廣告出品的網頁設計,採用精簡與質感的CSS語法,提升企業的專業形象與簡約舒適的瀏覽體驗,讓瀏覽者第一眼就愛上她。

接口與參數填寫正確后,點擊右上角的Execute按鈕即可請求接口。我們來看下請求數據:

我們先來看請求頭,接口請求頭中的User-Agent參數,如下所示:

用戶代理來源是Fiddler,就是剛才我們通過Fiddler工具請求的數據。

我們再來看響應,接口請求成功,正常響應並獲取到token數據,如下所示:

GET請求

剛才操作的是POST請求,現在來看個GET請求。操作方式都一樣,將請求方式切換成GET,填寫接口與參數,並點擊Execute按鈕,配置如下所示:

我們依然來看接口數據,先看請求頭參數:

 

User-Agent參數依然是Fiddler,說明是從Fiddler工具中發出的請求。

再來看響應數據,如下所示:

以上就是通過Fiddler模擬請求POST和GET請求了,其他方式類似。

模擬併發

在我們測試中,也會關注到,一個接口同時請求多次,會不會產生錯誤,比如:重複數據。那這次就需要考慮併發情況了。

Fiddler工具依然還是支持該操作,具體如下:

我們先選中已抓取的任一接口,點擊右鍵,並選擇Replay>Reissue Sequentially,也可以快捷鍵【Shift + R】如下所示:

點擊后,會彈出如下彈框,設置請求次數,如下所示:

默認是5,那我們改成3,並點擊OK按鈕,來看界面,如下所示:

我們可以看到,同時請求了3次,簡單模擬了併發測試,但實際是不及Jmeter工具的,畢竟這個也只是模擬,而Jmeter要專業許多。

了解完了併發使用,但還有些其他參數沒有介紹,我們來了解下其他參數,說不準以後也有用途。如下所示:

  • Reissue Requests:重發選中的請求
  • Reissue Unconditinally:無條件重發選中的請求
  • Reissue and eidt:重發並編輯,會打開一個加了斷點的請求,可以進行請求和響應數據的修改
  • Reissue and verify:重發並驗證,重新發送請求,並驗證其請求結果,會自動加標識(背景顏色)
  • Reissue Sequentially:重發序列,打開一個數量設置界面,標識需要重發多少次請求
  • Reissue from Composer:重發並打開composer界面,可以編輯或發送
  • Revisit in IE:在IE上發起這個請求

問題總結

在使用Fiddler模擬請求發包時,有時會操作失敗,比如通過百度查詢數據,GET接口,有時Caching參數不帶private參數就響應了302,正常帶該參數,是可以響應成功的,如下所示:

不知為何會出現,不帶該參數的情況。有遇到的博友,望提點一二。

 

好了,今天的這三個Fiddler技巧,就分享到這了,個人覺得在實際測試過程中,這三個技巧還是有幫助的。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

南投搬家公司費用需注意的眉眉角角,別等搬了再說!

上新台中搬家公司提供您一套專業有效率且人性化的辦公室搬遷、公司行號搬家及工廠遷廠的搬家服務