• Http压力测试工具HttpTest4Net


    HttpTest4Net是一款基于C#实现的和HTTP压力测试工具,通过工具可以简单地对HTTP服务进行一个压力测试.虽然VS.NET也集成了压力测试项目,但由于VS自身占用的资源导致了在配置不高的PC上难以做到高并发压力测试,再加上需要装VS这个样一个庞大的工具也是件很麻烦的事情.使用HttpTest4Net这个小工具只需要简单地配置一下参数就可以进行现有的HTTP服务进行压力测试并得到一个详细的测试结果汇总.

    功能

    • 提供测试总时间或请求总次数的测试方式.
    • 支持多用户压力测试和转考时间.
    • 支持GET和POST基础测试功能.
    • 提供测试用例保存和加载功能.
    • 提供自定义编写测试用例加载到工具中.
    • 提供测试汇总功能,可以实时查看测试的情况和完成后结果的分布.

    定义测试用例

    工具只提供基础的GET和POST测试用例,但在一些场景中这两种测试可能满足不了需要;所以工作提供自定义测试用例的功能,开发人员可能通过实现HttpTest4Net.Interfaces.IUrlTester接口实现功能相对比较复杂的测试用例;编写好的测试用例只需要编译成DLL后放到测试工具运行的目录下即可完成.以下是组件提供的POST测试用例实现代码:

    01 [Test("post base")]
    02     public class PostUrlTester:IUrlTester
    03     {
    04         public PostUrlTester()
    05         {
    06             Encoding = "UTF-8";
    07            
    08         }
    09         public string Url
    10         {
    11             get;
    12             set;
    13         }
    14  
    15         public string PostData
    16         {
    17             get;
    18             set;
    19         }
    20  
    21         public string Encoding
    22         {
    23             get;
    24             set;
    25         }
    26          
    27         public System.Net.HttpWebRequest CreateRequest()
    28         {
    29             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
    30             request.Method = "POST";
    31             request.ContentType = "application/x-www-form-urlencoded; charset="+Encoding;
    32             byte[] data = System.Text.Encoding.GetEncoding(Encoding).GetBytes(PostData);
    33             request.ContentLength = data.Length;
    34             Stream myStream = request.GetRequestStream();
    35             myStream.Write(data, 0, data.Length);
    36             myStream.Close();
    37             return request;
    38         }
    39  
    40         public TestType Type
    41         {
    42             get
    43             {
    44                 return TestType.POST;
    45             }
    46         }
    47     }

    工具使用图解

    下载(运行环境.NetFramework 4.0)

  • 相关阅读:
    js获取当前时间日期
    js操作Cookie
    C#常用正则表达式
    jquery操作select、radio、checkbox表单元素
    js实现页面跳转的几种方式
    js获取页面宽高大小
    c++写一个类后编译发现class重定义
    vtkMultiThreader坑爹吗?
    vtkStandardNewMacro()出现错误的问题
    转:将CFormView嵌入到CDockablePane中
  • 原文地址:https://www.cnblogs.com/ranzige/p/3638672.html
Copyright © 2020-2023  润新知