zoukankan      html  css  js  c++  java
  • 自定义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.值得纪念.

  • 相关阅读:
    线程互斥与同步
    JSP中传递数据出现的乱码问题
    JavaWeb学习——获取类路径下的资源
    Java初始化顺序
    Socket网络编程
    算法练习--LeetCode--17. Letter Combinations of a Phone Number
    算法练习--LeetCode--29. Divide Two Integers
    XCode10 swift4.2 适配遇到的坑
    leetCode :103. Binary Tree Zigzag Level Order Traversal (swift) 二叉树Z字形层次遍历
    iOS 拼音 Swift K3Pinyin
  • 原文地址:https://www.cnblogs.com/5ishare/p/9280988.html
Copyright © 2011-2022 走看看