Http压力测试工具HttpTest4Net
HttpTest4Net是一款基于C#实现的和HTTP压力测试工具,通过工具可以简单地对HTTP服务进行一个压力测试.虽然VS.NET也集成了压力测试项目,但由于VS自身占用的资源导致了在配置不高的PC上难以做到高并发压力测试,再加上需要装VS这个样一个庞大的工具也是件很麻烦的事情.使用HttpTest4Net这个小工具只需要简单地配置一下参数就可以进行现有的HTTP服务进行压力测试并得到一个详细的测试结果汇总.
功能
提供测试总时间或请求总次数的测试方式.
支持多用户压力测试和思考时间.
支持GET和POST基础测试功能.
提供测试用例保存和加载功能.
提供自定义编写测试用例加载到工具中.
提供测试汇总功能,可以实时查看测试的情况和完成后结果的分布.
定义测试用例
工具只提供基础的GET和POST测试用例,但在一些场景中这两种测试可能满足不了需要;所以工作提供自定义测试用例的功能,开发人员可能通过实现HttpTest4Net.Interfaces.IUrlTester接口实现功能相对比较复杂的测试用例;编写好的测试用例只需要编译成DLL后放到测试工具运行的目录下即可完成.以下是组件提供的POST测试用例实现代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 |
[Test( "post base" )] public
class PostUrlTester:IUrlTester { public
PostUrlTester() { Encoding = "UTF-8" ; } public
string Url { get ; set ; } public
string PostData { get ; set ; } public
string Encoding { get ; set ; } public
System.Net.HttpWebRequest CreateRequest() { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); request.Method = "POST" ; request.ContentType = "application/x-www-form-urlencoded; charset=" +Encoding; byte [] data = System.Text.Encoding.GetEncoding(Encoding).GetBytes(PostData); request.ContentLength = data.Length; Stream myStream = request.GetRequestStream(); myStream.Write(data, 0, data.Length); myStream.Close(); return
request; } public
TestType Type { get { return
TestType.POST; } } } |
工具使用图解
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。