51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4974|回复: 2
打印 上一主题 下一主题

[转贴] Http压力测试工具HttpTest4Net

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-28 16:33:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 天天酷派哦 于 2019-1-28 16:37 编辑

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


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

定义测试用例

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

  1. [Test("post base")]
  2.     public class PostUrlTester:IUrlTester
  3.     {
  4.         public PostUrlTester()
  5.         {
  6.             Encoding = "UTF-8";
  7.          
  8.         }
  9.         public string Url
  10.         {
  11.             get;
  12.             set;
  13.         }

  14.         public string PostData
  15.         {
  16.             get;
  17.             set;
  18.         }

  19.         public string Encoding
  20.         {
  21.             get;
  22.             set;
  23.         }
  24.         
  25.         public System.Net.HttpWebRequest CreateRequest()
  26.         {
  27.             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
  28.             request.Method = "POST";
  29.             request.ContentType = "application/x-www-form-urlencoded; charset="+Encoding;
  30.             byte[] data = System.Text.Encoding.GetEncoding(Encoding).GetBytes(PostData);
  31.             request.ContentLength = data.Length;
  32.             Stream myStream = request.GetRequestStream();
  33.             myStream.Write(data, 0, data.Length);
  34.             myStream.Close();
  35.             return request;
  36.         }

  37.         public TestType Type
  38.         {
  39.             get
  40.             {
  41.                 return TestType.POST;
  42.             }
  43.         }
  44.     }
复制代码

工具使用图解







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

3#
发表于 2021-1-19 20:46:15 | 只看该作者
很好的一次分享,非常感谢!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-22 09:28 , Processed in 0.063791 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表