1. 程式人生 > >Fiddler開發實踐之自定義匯出外掛

Fiddler開發實踐之自定義匯出外掛

一、準備工作

1.安裝fiddler4;
2.vs2010以上(下方演示截圖都是基於vs2015的);
3.開啟fiddler debug相關功能;
在下圖位置輸入如下內容:
顯示錯誤和異常資訊:

prefs set fiddler.debug.extensions.showerrors  True

顯示log資訊:

prefs set fiddler.debug.extensions.verbose True

開啟log顯示後,開發者輸出的log資訊顯示在fiddler右側的log tab的介面中。
開發者可以使用如下介面顯示日誌資訊:

FiddlerApplication.Log.LogString()

在這裡插入圖片描述

二、建立Fiddler擴充套件專案

步驟1、啟動Visual Studio 2015;

步驟2、建立一個Visual C#類庫型別的新專案,如下截圖:

在這裡插入圖片描述

步驟3、新增對Fiddler的引用;

1.在解決方案資源管理器中右鍵單擊專案的引用資料夾,如下圖:
在這裡插入圖片描述

2.點選【新增引用】,在彈出的【引用管理器】彈框中單擊“ 瀏覽”選項卡,然後在C:\Program Files (x86)\Fiddler2資料夾中選擇Fiddler.exe。
在這裡插入圖片描述

3.單擊“ 確定”以新增引用。

4.在AssemblyInfo.cs檔案中新增特定的屬性[assembly: Fiddler.RequiredVersion(“4.6.2.0”)] (如下圖 注因為我用的Fiddler4 版本是4.6.2.0)
在這裡插入圖片描述

三、新增對System.Windows.Forms的引用

如果自定義Fiddler外掛修改了Fiddler的UI,則需要執行此項,否者跳過此項。

步驟1、再次右鍵單擊解決方案資源管理器中專案的References資料夾。

在這裡插入圖片描述

步驟2、在.NET選項卡上,選擇System.Windows.Forms。

在這裡插入圖片描述

步驟3、單擊“ 確定”以新增引用。

四、擴充套件介面

1.修改專案中的預設class1.cs(或建立一個新類),必須公有;
2.新增[ProfferFormat(“JmeterExport”, “匯出JMeter指令碼.”)],用於新增匯出下拉選單欄
3.實現ISessionExporter介面
實現如下所示:
在這裡插入圖片描述

五、新增構建事件

步驟1、在解決方案資源管理器中,右鍵單擊該專案,如下圖:

在這裡插入圖片描述

步驟2、單擊屬性。

步驟3、單擊“ 生成事件”選項卡。

在這裡插入圖片描述

步驟4、將以下內容新增到後期生成事件命令列:

copy “$(TargetPath)” “C:\Program Files (x86)\Fiddler2\ImportExport$(TargetFilename)”
$(TargetPath):生成的主輸出檔案的絕對路徑名(定義形式:驅動器 + 路徑 + 基本名稱 + 副檔名)。
$(TargetFileName)
生成的主輸出檔案的檔名(定義為基本名稱 + 副檔名)。
主要作用是將生成的外掛dll檔案直接拷貝到路徑C:\Program Files (x86)\Fiddler2\ImportExport下。
在這裡插入圖片描述

六、重啟Fiddler檢查外掛是否生效,如下圖:

步驟1、重啟Fiddler,進入【File】-【Export Session】-【All Sessions…】

在這裡插入圖片描述

步驟2、選擇匯入格式,下拉列表中可檢視到【JmeterExport】,如下圖:

在這裡插入圖片描述

七、總結遇到的坑

1.[assembly: Fiddler.RequiredVersion(“4.6.2.0”)] 沒新增導致外掛載入失敗;
2.路徑…\Documents\Fiddler2\Scripts和…\ Program Files \ Fiddler2 \ImportExport同時存在外掛導致無法加載出來;

參考:http://docs.telerik.com/fiddler/Extend-Fiddler/BuildImporterExporter