自定义Fiddler插件二

在之前博客自定义Fiddler插件一中主要是实现了IRequestInspector2接口,这个接口主要是针对单个请求的,在写接口测试案例的时候也是对一个接口进行处理,如果想批量进行操作,那就可以使用ISessionExporter接口,这样在编写测试案例时可以一次多选几个请求,至于批量生成案例需要一些业务处理,这里就不一一说明,主要简单了解下ISessionExporter接口的使用。

一、新建类库

这里创建了一个SessionExporterInspectors的类库,还是和Fiddler插件一中一样,添加引用Fiddler,在AssemblyInfo.cs文件中引入[assembly: Fiddler.RequiredVersion("5.0.20173.49666")].

二、新建SessionExporter实现ISessionExporter接口类,这里只是做测试,所以直接获取oSessions[0],也没做任何处理,就是直接将session对应的request请求保存到指定文件中.这里有个地方需要注意,也是我遇到的一个坑,一直不知道ProfferFormat是做什么用的,同时也不知道在Fiddler导出时出现的下面的几个下拉框选项是怎么配置进去的.在网上找到参考的也都有这个ProfferFormat,没办法,我又反编译了下ImportExport文件下的BasicFormats.dll才知道,原来截图中的下拉框选项就是通过ProfferFormat配置的。这里我也进行了配置,编译之后把类库dll放到ImportExport,重启下Fiddler。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Fiddler;
using System.Windows.Forms;

namespace SessionExporterInspectors
{
    [ProfferFormat("Cuiyw SessionExporter Test", "导出测试Cuiyw")]
    public class SessionExporter : ISessionExporter
    {
        public void Dispose()
        {
            
        }

        public bool ExportSessions(string sExportFormat, Session[] oSessions, Dictionary<string, object> dictOptions, EventHandler<ProgressCallbackEventArgs> evtProgressNotifications)
        {
            string fileName = SelectPath();
            if (!string.IsNullOrEmpty(fileName))
            {
                oSessions[0].SaveRequest(fileName,false);
                return true;
            }
            return false;
        }

        private string SelectPath()
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "文本文件|*.txt";
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                return  openFileDialog.FileName;
            }
            return string.Empty;
        }
    }
}

三、导出

这里选中一个请求,File->Export Sessions->Selected Sessions,这里就会出现自定义的选项。然后选择要导出的文本文件的位置,就能把请求导出来了.

今天2018.7.8,农历5.25.值得纪念.

原文地址:https://www.cnblogs.com/5ishare/p/9280988.html