HttpTest4Net是一款基於C#實現的和HTTP壓力測試工具,通過工具可以簡單地對HTTP服務進行一個壓力測試.雖然VS.NET也集成了壓力測試項目,但由於VS自身占用的資源導致了在配置不高的PC上難以做到高並發壓力測試,再加上需要裝VS這個樣一個龐大的工具也是件很麻煩的事情.使用HttpTest4Net這個小工具只需要簡單地配置一下參數就可以進行現有的HTTP服務進行壓力測試並得到一個詳細的測試結果匯總.
功能
提供測試總時間或請求總次數的測試方式.
支持多用戶壓力測試和思考時間.
支持GET和POST基礎測試功能.
提供測試用例保存和加載功能.
提供自定義編寫測試用例加載到工具中.
提供測試匯總功能,可以實時查看測試的情況和完成后結果的分布.
定義測試用例
工具只提供基礎的GET和POST測試用例,但在一些場景中這兩種測試可能滿足不了需要;所以工作提供自定義測試用例的功能,開發人員可能通過實現HttpTest4Net.Interfaces.IUrlTester接口實現功能相對比較復雜的測試用例;編寫好的測試用例只需要編譯成DLL后放到測試工具運行的目錄下即可完成.以下是組件提供的POST測試用例實現代碼:
[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;
}
}
}
工具使用圖解


