《吐血整理》高級系列教程-吃透Fiddler抓包教程(25)-Fiddler如何優雅地在正式和測試環境之間來回切換-下篇

1.簡介

在開發或者測試的過程中,由於項目環境比較多,往往需要來來回回地反覆切換,那麼如何優雅地切換呢?宏哥今天介紹幾種方法供小夥伴或者童鞋們進行參考。

2.實際工作場景

2.1問題場景

(1)已發布線上APP出現介面錯誤,如何測試線上APP訪問本地請求?

(2)已發布線上H5頁面,靜態資源或js調試,如何映射本地js?

2.2一般解決方案

猜測(一般明顯問題)、找到原發布包,修改請求資源url重新打包測試。需要前後端協調配合,耗時費力。

2.3聰明人解決方案

fiddler映射響應:

通過fidder攔截,將需要載入的資源映射到本地開發環境,而無需切換測試版APP

例如線上資源://online.com/api/page

映射載入本地資源://127.0.0.1/api/page

3.切換實戰

3.1腳本(Fiddler Script)

1.啟動Fiddler,點擊Rules-->Customize Rules... ,如下圖所示:

2.在Fiddler Script中的FiddlerObject頂部定義不同環境的object,如下圖所示:

3.在OnBeforeRequest中定義環境,如下圖所示:

4.點擊File-->Save,保存腳本,如下圖所示:

5.重啟Fiddler後,點擊Rules-->切環境-->選擇你要切換的環境即可,如下圖所示:

6.參考程式碼

宏哥這裡解釋一下,就是宏哥Fiddler檢查到宏哥訪問部落格園,你切換測試環境,此時就會訪問百度首頁,如果切換正式環境,此時就會訪問豆瓣首頁。別的類似。

RulesString("切環境",true)
RulesStringValue(0,"切到測試環境","www.baidu.com")
RulesStringValue(1,"切到線上環境","www.douban.com")
RulesStringValue(2,"切到其他環境--模擬請求不通","butong-fiddler.com")
public static var hl_env: String = null; 
if (null != hl_env  && oSession.uriContains("www.cnblogs.com")) {
        oSession.host=hl_env;
}

3.2腳本(Fiddler Script)

1.啟動Fiddler,點擊Rules-->Customize Rules... ,如下圖所示:

2.打開後,彈出編輯器,按Ctrl + F,搜索「beforerequest」,如下圖所示:

3.在函數中加上切換規則,如下圖所示:

4.點擊File-->Save,保存腳本,如下圖所示:

5.重啟Fiddler後,訪問百度首頁可以看到,地址欄是百度的網址,但是頁面內容確實部落格園的,如下圖所示:

4.小結

 好了,今天時間也不早了,宏哥就講解和分享到這裡,感謝你耐心地閱讀!!!

Tags: