1. 程式人生 > >jmeter測試HTTP請求

jmeter測試HTTP請求

互聯網 log content 上傳 技術分享 nbsp pos 1-1 請求參數

HTTP超文本傳輸協議(HyperText Transfer Protocol)是互聯網上應用最為廣泛的一種網絡協議。所有的WWW文件都必須遵守這個標準。(詳情參考看一下百科)

HTTP發送請求有GET,POST,PUT, OPTION,HEAD,DELETE,TRACE,CONNECT 8種,目前來說最常見的是GET、POST和PUT請求,其他的比較少見。

  1、GET:用於不修改數據僅向服務器獲取資源(比如我們常見的訪問某個網站首頁,進入某個頁面啊...基本都是用的GET請求方式)

  2、POST:用於向服務器端提交數據並獲取服務器返回的處理結果(比如登錄某個網站,註冊提交等等一般都采用POST請求方式)

  GET跟POST的區別:其實GET能做的POST方式也基本都能做,看你服務器端怎麽處理。硬要說兩者的區別,兩者的最大區別在於,GET請求把所有請求參數都放在請求路勁裏(比如  http://e.dangdang.com/classification_list_page.html?category=YXJJ&dimension=sale&order=0,後面的三個參數及值:category=YXJJ&dimension=sale&order=0都在路勁裏)而POST則把參數放在BODY裏提交,這樣做的好處主要有以下幾點:

  A、GET請求參數放在路勁裏 ,如果參數過多的那麽會導致URL過長,而每種瀏覽器的URL長度都有各自的限制(比如chrome 8182字符 IE限制最長2083...)如果超過限制,那麽請求就會失敗,而POST的話請求BODY裏沒有這方面的限制;

  B、GET請求參數放在路徑裏任何人訪問網站一眼就能看到你的參數名參數值...這樣不安全,容易造成信息泄露,比如登錄請求,如果用GET,把用戶的密碼顯示在URL裏,別人一眼就看到了

  3、PUT:通常用於向服務器發送請求並也可以提交數據,PUT跟POST類似。

[OK 更多HTTP請求內容請參考百科]

咱們這裏接著介紹如何使用jmeter來發送HTTP請求測試HTTP協議的接口吧。詳細步驟如下:

打開jmeter,右鍵測試計劃,新建一個線程組:

技術分享

右鍵線程組-->添加一個HTTP Sampler:

技術分享

這裏我們要測試的接口文檔假設如下:

1.HTTP接口1:jmeter測試http form表單參數的get請求

請求地址:http://api.nnzhp.cn/getuser
請求方式:GET
接口入參:userid(form表單參數)

返回格式:{"age": 18, "code": 200, "id": "1", "name": "小明"}

則jmeter配置如下:

技術分享

OK,到此請求腳本就做好了,接下來添加一個監聽器 :查看結果樹,方便查看運行結果:

技術分享

接下來再看另一個接口:

2.HTTP接口2 :jmeter測試http json入參的POST請求

請求地址:http://api.nnzhp.cn/getmoney

請求方式:POST

請求入參:userid(json)

返回格式:{‘code‘:200,‘userid‘:1,‘money‘:1000}

jmeter中HTTP請求腳本配置如下:

技術分享

運行結果如下:

技術分享

再看一個接口:

3.HTTP 接口3:jmeter測試有header頭信息Content-Type application/json 的http請求

請求地址:http://api.nnzhp.cn/getuser2

請求方式:POST

請求頭:Content-Type: application/json

請求入參:userid

結果格式:{‘code‘:200,id‘:1,‘name‘:‘小明‘,‘age‘:18}

jmeter請求配置如下:

技術分享

寫好HTTP請求後右鍵-->添加一個配置元件 http請求頭:

技術分享

填寫頭信息:

技術分享

運行查看結果:

技術分享

技術分享

4.HTTP接口4:Jmeter測試帶cookie的http請求:

請求地址:http://api.nnzhp.cn/setmoney2

請求方法:POST

請求參數:userid money 表單參數 【需要添加cookie-->token=token12345】

返回格式:{‘code‘:200,‘success‘:‘成功‘}

腳本配置如下:

這裏需要說明一下,cookie本身是放在http請求頭裏傳送的,所以這裏jmeter添加http請求的cookie時,直接把cookie放在HTTP信息頭管理器裏:

技術分享

技術分享

查看運行結果:

技術分享

5.Jmeter測試HTTP請求上傳文件:

請求地址:http://api.nnzhp.cn/uploadfile

請求方法:POS

請求參數:file (文件)

返回結果:{‘code‘:200,‘success‘:‘成功‘}

jmeter 腳本配置如下:

技術分享

註意,使用jmeter上傳文件時,需要要選中:Use multipart/form-data for POST 或者就要在MIME類型裏指定:multipart/form-data

技術分享

查看運行結果:

技術分享

OK,常見的HTTP請求腳本基本就這幾類了。

jmeter測試HTTP請求