用ab的post方式進行測試


一、Ab是常用的性能測試工具,因為它支持windows……

  通常使用的命令是ab –c –n –k -r,分別表示:模擬終端數、發送包數、請求是否帶keepalive、忽略錯誤,默認都是以GET方式去請求的,也就是下面這種請求就可以用它測試:

  這里不再說了。

二、本次主要說測試post方式的請求,也就是瀏覽器抓包看到的下面這種:

  需要加上兩個參數-p和-T,先說-T是指請求的內容類型,比如上圖的'application/x-www-form-urlencoded'就寫-T "application/x-www-form-urlencoded",-p后面跟的是要post的內容,以文本方式記錄即可,以我這次測試的例子為例:

  -T參數就要寫成-T "multipart/form-data; boundary=----------------------------350e95503198",但事實上boundary的內容是可以自己定義的,只要是給服務端識別出內容在哪里而已

  比如我測試時就是寫-T "multipart/form-data; boundary=---1234ceshi"。

  -p參數跟的是內容,只要把上圖抓包結果保存為txt即可,比如test.txt,但是注意如果你修改了boundary,那么這里記得也要修改,如

  -----1234abcd

  Content-Disposition: form-data; name="midn" 

  7213c8d95ccc968d28d2d48b0c59a63e 

  -----1234abcd

注意最后那兩個破折號不能省略哦。

  那文中例子的測試命令行就是:ab -n 1 -p test.txt -T "multipart/form-data; boundary=---1234abcd" http://172.22.31.45:8080/check_client_need_query.html
  如果出現“ab: Could not stat POST data file : Partial results are valid but processing is incomplete”這是因為ab對post支持不好,尤其是在windows下。

三、通過面的例子可以看到這種方法是存在缺陷的,就是test.txt的內容是寫死的,如果實際測試需要post不同的數據(比如不同的midn)怎么做?有兩個方法:

  1、通過另外的腳本或者程序在測試前修改這個文檔

  2、換loadrunner。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM