jmeter基本用法


JMeter最基本的操作有三個步驟:

jmeter中的快捷鍵:

ctrl + s  保存

ctrl + e 清除

ctrl + r 運行

ctrl + t 禁用  啟用

jmeeter是用JAVA寫的所以使用前一定要安裝JDK

  • 先添加一個線程組。
  • 添加HTTP請求。
  • 添加查看結果樹。

1.添加線程組

在測試計划下新建一個線程組

 

 

 

2.添加HTTP請求

在線程組下添加HTTP請求

 3.添加察看結果樹

 

 

 添加完這三樣組件,就可以發送Http的請求了,想要編寫接口腳本,需要先熟悉HTTP協議的基礎知識。

JMeter常見的請求方式

http請求方式有get、post、put、delete等多種,最常用的就是get和post

get請求和post請求的區別:1、GET請求一般用去請求獲取數據,

        POST一般作為發送數據到后台時使用

2、GET請求也可傳參到后台,但是其參數在瀏覽器的地址欄的url中可見,所以隱私性安全性較差,且參數長度也是有限制的

        POST請求傳遞參數放在Request body中,不會在url中顯示,比GET要安全,且參數長度無限制

3、GET請求刷新瀏覽器或回退時沒有影響

        POST回退時會重新提交數據請求

4、GET 請求可被緩存

        POST 請求不會被緩存

5、GET 請求保留在瀏覽器歷史記錄中

       POST 請求不會保留在瀏覽器歷史記錄中

6、GET 請求可被收藏為書簽

        POST 不能被收藏為書簽

7、GET請求只能進行url編碼(application/x-www-form-urlencoded)

        POST支持多種編碼方式(application/x-www-form-urlencoded 或 multipart/form-data。為二進制數據使用多重編碼。)

8、GET請求比較常見的方式是通過url地址欄請求

        POST最常見是通過form表單發送數據請求

 



1.發送Get請求

利用抓包工具查看數據

 

 

 

 

 

 把數據填寫到jmeter中然后點運行(注意填寫的過程中不要有多余的空格)(get請求的參數可以放在路徑后面)

 

 

 

 

 

 2.發送Post請求

post 請求的數據類型 :1application/x-www-form-urlencoded

                                     2application/json

所以如果是post 請求,首先要看 Content-Type 是什么樣的數據類型,

1.如果是 /x-www-form-urlencoded 類型的,把數據直接填寫在 “參數”中,可以不用加信息頭管理器,因為 jmeter 工具默認發送的數據類型就是x-www-form-urlencoded。
2.如果是 json 類型的,那么要加上信息頭管理器,把數據填寫在 “消息體數據中”

其中請求頭中 比較重要的有兩個

Content-Type : 發送 post 請求的時候,數據類型的聲明 

User-Agent : 聲明客戶端類型 

利用抓包工具查看數據

可以看到類型為json,所以需要1.加上信息頭管理器。2.把body數據填寫在 “消息體數據中”

 

 

 

 

 

 怎么判斷 接口有沒有成功

查看結果樹 - 綠色 

本質 - 是否實現了接口的業務功能

 配置元中的數據是優先運行的。

注意要加HTTP Cookie管理器,這個是全局的,只要是一個線程組就可以。(添加后Jmeter就相當於於瀏覽器,自動保持登錄。)

 

函數的添加

 

 

 信息頭管理器(信息頭管理器放在上面是下面所有的HTTP都用的是這個)

 

 我們學過HTTP協議的基礎知識,HTTP有請求行,請求頭,空一行以及body組成。請求頭中比較重要的值是user-agent、content-type以及sign簽名等。User-agent聲明是通過客戶端進行訪問。
HTTP協議發送請求給服務器的時候,會發送請求行、請求頭以及請求體等信息。請求中的參數正確,請求不一定執行成功,還要看請求頭是否正確。請求頭也正確了,這樣才能告訴服務器,我們的請求是合法的。

JMeter發送的請求,content-type默認的格式是www-form-urlencode格式,如果要發送json格式的請求,那么就要定義信息頭管理器。
看一下禁用學校的請求:

 

再對比抓包(有接口文檔就不用抓包了)

 

請求行和請求體都沒有錯,但是查看結果樹報錯了。在這里也總結一下:接口報錯要怎么辦?

1.查看結果樹

先看一下“取樣器結果”,在里面可以看到大概的信息,然后重點是看請求,一個個對比,看看請求行,請求體,請求頭是否都正確了。

信息頭中content-type類型不對,因為禁用的接口,content-type數據類型是json類型,所以要在請求頭中加上Content-Type: application/json

2.最后看一下“響應數據”

看看響應有什么有用的提示。

 

加上信息頭管理器后,請求就發送成功了。
要注意加信息頭管理器的位置,如果只想對單個請求起作用,那么信息頭管理器就加在請求里面。
如果信息頭管理器放在測試計划下,看圖

 

這樣的話信息頭管理器中定義的信息頭,線程組中的所以請求都會繼承。登錄、新建學校、禁用學校的信息頭都會繼承剛才定義的信息頭。
存在的問題是,登錄和新建學校的接口的請求方式是Content-Type: application/x-www-form-urlencoded格式的,這種情況怎么辦呢?

跟請求HTTP請求默認值一樣的思路:

如果接口的請求格式是application/json類型的多,那么信息頭管理器就放在測試計划上面,線程組中的請求如果有的請求是application/x-www-form-urlencoded格式的,那么在該請求里面加一個信息頭管理器,名稱和值填上Content-Type: application/x-www-form-urlencoded即可

 

 

請求默認值

 

 

添加單個HTTP請求默認值元素,並在其中填寫“服務器名稱或IP ”字段。 ,添加25個HTTP請求控制器時,請將“服務器名稱或IP ”字段保留為空。控制器將從HTTP Request Defaults元素繼承此字段值。



舉個實際工作的例子:

一個項目一般會有超過一百個的接口,接口的協議、域名、端口號一般都是一樣的,只是請求路徑,請求方式、參數等不一樣。那么我們在請求默認值中設置好協議、域名以及端口號,后面的請求就會繼承這三個元素,不需要再寫了。
還有一個好處就是,當服務器名稱改變了,我們只需要更改默認請求中的值即可,比如從測試環境的接口切換到正式環境。



1、HTTP請求默認值

在請求默認值中填寫好協議、服務器名稱以及端口號。



去看登錄以及新建學校的請求,登錄請求中,協議、服務器名稱、端口號就不需要再寫了。同理,新建學校的請求也是一樣,不需要再寫了。



2、HTTP請求默認值

還有一種常用的用法:比如項目中有些接口調了另外一個項目的接口,那么服務器名稱以及端口號就不一樣了。那么在sampler請求中填寫了服務器名稱、端口號,就是以sampler中填寫的為主。

比如:新建學校的請求中服務器名稱改為www.baidu.com



看一下結果:新建學校的請求,端口號是繼承了請求默認值的,因為新建學校的請求中沒寫端口號。服務器名稱就變為了www.baidu.com了。

以上就是HTTP默認請求值得常規用法。

 


免責聲明!

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



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