jmeter(四)HTTP請求


啟動jmeter,建立一個測試計划

這里再次說說怎么安裝和啟動jmeter吧,昨天下午又被人問到怎樣安裝和使用,我也是醉了;在我看來,百度能解決百分之八十的問題,特別是基礎的問題。。。

安裝:去官網下載一個安裝包,官網地址:jmeter.apache.org(Windows系統下載.zip包,Linux系統下載.tgz包)

環境:jmeter是一個純java工具,因此,JDK必不可少,現在最新版的jmeter是3.1,做了很多的優化,建議使用1.7及以上的JDK

     JDK版本請注意和操作系統吻合,下載后默認安裝,一般不需要修改環境變量

啟動:打開jmeter文件夾,bin文件→jmeter.bat(Windows執行文件)文件,就可以啟動jmeter了

 

啟動jmeter,默認有一個測試計划,然后,修改計划名稱,盡量使其變得有意義,容易看懂,然后,新建一個線程組

這里線程數我設置為1,方便演示

然后,添加一個http信息頭管理器

 

這里解釋一下為什么要添加http信息頭管理器: 

JMeter不是瀏覽器,因此其行為並不和瀏覽器完全一致。這些JMeter提供的配置元件中的HTTP屬性管理器用於盡可能模擬瀏覽器行為,在HTTP協議層上發送給被測應用的http請求

(1)HTTP Request Defaults(請求默認值)

    用於設置其作用范圍內的所有HTTP的默認值,可被設置的內容包括HTTP請求的host、端口、協議等

(2)HTTP Authorization Manager(授權管理器)

    用於設置自動對一些需要NTLM驗證的頁面進行認證和登錄

(3)HTTP Cache Manager

    用於模擬瀏覽器的Cache行為。為Test Plan增加該屬性管理器后,Test Plan運行過程中會使用Last-Modified、ETag和Expired等決定是否從Cache中獲取相應的元素

(4)HTTP Cookie Manager(cookie管理器)

    用於管理Test Plan運行時的所有Cookie。HTTP Cookie Manager可以自動儲存服務器發送給客戶端的所有Cookie,並在發送請求時附加上合適的Cookie

    同時,用戶也可以在HTTP Cookie Manager中手工添加一些Cookie,這些被手工添加的Cookie會在發送請求時被自動附加到請求

(5)HTTP Header Manager(信息頭管理器)

    用於定制Sampler發出的HTTP請求的請求頭的內容。不同的瀏覽器發出的HTTP請求具有不同的Agent

    訪問某些有防盜鏈的頁面時需要正確的Refer...這些情況下都需要通過HTTP Header Manager來保證發送的HTTP請求是正確的

 

http信息頭管理器添加好之后,需要填入信息頭的名稱以及對應的值,如下

Content-Type意思可以理解為參數名稱、類型,值下面輸入對應的參數類型就行了,這里我測試時候需要傳輸json類型,因此就填入了application/json

 

接着,添加Sampler(取樣器)→http請求

按照截圖所示,填入測試的服務器地址、端口、所用的戶協議、方法,這里方法我用的是POST,然后填入路徑,選擇Body Data;

關於http請求的的屬性參數說明:

1)名稱:用於標識一個sample。建議使用一個有意義的名稱

2)注釋:對於測試沒任何影響,僅用來記錄用戶可讀的注釋信息

3)服務器名稱或IP:http請求發送的目標服務器名稱或者IP地址,比如http://www.baidu.com

4)端口號:目標服務器的端口號,默認值為80,可不填

5)協議:向目標服務器發送http請求時的協議,http/https,大小寫不敏感,默認http

6)方法:發送http請求的方法(鏈接:http://www.cnblogs.com/imyalost/p/5630940.html)

7)Content encoding:內容的編碼方式(Content-Type=application/json;charset=utf-8)

8)路徑:目標的URL路徑(不包括服務器地址和端口)

9)自動重定向:如果選中該項,發出的http請求得到響應是301/302,jmeter會重定向到新的界面

10)Use keep Alive:jmeter 和目標服務器之間使用 Keep-Alive方式進行HTTP通信(默認選中)

11)Use multipart/from-data for HTTP POST :當發送HTTP POST 請求時,使用

12)Parameters、Body Data以及Files Upload的區別:

   1. parameter是指函數定義中參數,而argument指的是函數調用時的實際參數

   2. 簡略描述為:parameter=形參(formal parameter), argument=實參(actual parameter)

   3.在不很嚴格的情況下,現在二者可以混用,一般用argument,而parameter則比較少用

   While defining method, variables passed in the method are called parameters.

   當定義方法時,傳遞到方法中的變量稱為參數.

   While using those methods, values passed to those variables are called arguments.

   當調用方法時,傳給變量的值稱為引數.(有時argument被翻譯為“引數“)

   4、Body Data指的是實體數據,就是請求報文里面主體實體的內容,一般我們向服務器發送請求,攜帶的實體主體參數,可以寫入這里

   5、Files Upload指的是:從HTML文件獲取所有有內含的資源:被選中時,發出HTTP請求並獲得響應的HTML文件內容后還對該HTML

      進行Parse 並獲取HTML中包含的所有資源(圖片、flash等):(默認不選中)

      如果用戶只希望獲取特定資源,可以在下方的Embedded URLs must match 文本框中填入需要下載的特定資源表達式,只有能匹配指定正則表達式的URL指向資源會被下載

 

接下來可以給這個測試計划添加一個監視器,常用的監視器有“查看結果樹”和“聚合報告”

添加好監視器,點擊運行,開始測試

 

如上,測試結束后,如果我們的請求成功發送給服務器,那么結果樹里面的模擬請求會顯示為綠色,可以通過取樣器結果里面的響應狀態碼信息來判斷

也可以點擊請求模塊,查看我們發送的請求

里面有我們發送的請求的方法、協議、地址以及實體主體數據,以及數據類型,大小,發送時間,客戶端版本等信息

響應數據:里面包含服務器返回給我們的響應數據實體,如下圖

 


免責聲明!

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



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