HttpTest4Net是一款基于C#实现的和HTTP压力测试工具,通过工具可以简单地对HTTP服务进行一个压力测试.虽然VS.NET也集成了压力测试项目,但由于VS自身占用的资源导致了在配置不高的PC上难以做到高并发压力测试,再加上需要装VS这个样一个庞大的工具也是件很麻烦的事情.使用HttpTest4Net这个小工具只需要简单地配置一下参数就可以进行现有的HTTP服务进行压力测试并得到一个详细的测试结果汇总.
工具只提供基础的GET和POST测试用例,但在一些场景中这两种测试可能满足不了需要;所以工作提供自定义测试用例的功能,开发人员可能通过实现HttpTest4Net.Interfaces.IUrlTester接口实现功能相对比较复杂的测试用例;编写好的测试用例只需要编译成DLL后放到测试工具运行的目录下即可完成.以下是组件提供的POST测试用例实现代码:
01 | [Test("post base")] |
02 | publicclassPostUrlTester:IUrlTester |
03 | { |
04 | publicPostUrlTester() |
05 | { |
06 | Encoding ="UTF-8"; |
07 | |
08 | } |
09 | publicstringUrl |
10 | { |
11 | get; |
12 | set; |
13 | } |
14 |
15 | publicstringPostData |
16 | { |
17 | get; |
18 | set; |
19 | } |
20 |
21 | publicstringEncoding |
22 | { |
23 | get; |
24 | set; |
25 | } |
26 | |
27 | publicSystem.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 | returnrequest; |
38 | } |
39 |
40 | publicTestType Type |
41 |