HttpTest4Net是一款基于C#實現的和HTTP壓力測試工具,通過工具可以簡單地對HTTP服務進行一個壓力測試.雖然VS.NET也集成了壓力測試項目,但由于VS自身占用的資源導致了在配置不高的PC上難以做到高并發壓力測試,再加上需要裝VS這個樣一個龐大的工具也是件很麻煩的事情.使用HttpTest4Net這個小工具只需要簡單地配置一下參數就可以進行現有的HTTP服務進行壓力測試并得到一個詳細的測試結果匯總.
工具只提供基礎的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 |