Http壓力測試工具HttpTest4Net

smark發表於2014-03-31

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;
            }
        }
    }

工具使用圖解

下載工具

 

相關文章