1. 程式人生 > >接口測試工具之JMeter(1)

接口測試工具之JMeter(1)

什麽 跨平臺 names data tex use 計算 充值 創建

接口測試工具之JMeter(1)

1.Jmeter簡介

Jmeter是apache公司基於java開發的一款開源壓力測試工具,它是java開發的,所以運行的時候必須要安裝jdk才可以,jmeter是免安裝的,拿到安裝包之後直接解壓就可以使用了,它也是跨平臺的在linux、windows、macos上都可以使用

2.Jmeter使用

2.1 創建http請求流程

1、添加線程組

2、添加http請求

3、在http請求中寫入接口url、路徑、請求方式、參數

4、添加查看結果樹(多個http請求只需添加一個結果樹)

5、調用接口、查看返回值

技術分享圖片

PS :解決兩個亂碼問題方法

jmeter查看結果樹亂碼

在jmeter的bin目錄下找到jmeter.properties這個文件

1、添加上sampleresult.default.encoding=utf-8

2、重啟jmeter

jmeter body data裏面亂碼

在jmeter的bin目錄下找到jmeter.properties這個文件

1、添加jsyntaxtextarea.font.family=Hack

2、重啟jmeter

2.2 get請求

get請求一:

入參可以放在路徑中或在parameters中添加

技術分享圖片

技術分享圖片

get請求二:添加Headers

添加Http信息頭管理器

技術分享圖片

技術分享圖片

技術分享圖片

2.3 post

請求

post請求一:表單提交

技術分享圖片

post請求二:json提交

技術分享圖片

post請求三:添加cookie

添加HTTP信息頭管理器

技術分享圖片

在HTTP信息頭管理器中添加cookie信息,cookie值為上述登錄接口返回結果中的sign值

技術分享圖片

技術分享圖片

post請求四:上傳文件

技術分享圖片

2.4 Jmeter參數化

在調用接口的時候,有入參,那參數裏面的值如果經常變化的話,就得每次去改了,很麻煩,這時候咱們就把需要經常變的值,改成可以變化的或者是咱們提前設置好的一些值,這樣的話,調用的時候就不用每次都改它的值了.

Jmeter參數化的方式有三種

(1)用戶定義的變量

這種就是為了方便管理參數,只能有一個值,比如說ip地址不經常變化的

在線程組中添加一個用戶定義的變量,然後寫key和value就可以了,key就是這個參數的名稱,也就是你在腳本裏面取的值,value就是具體值了。在取參數化的值的時候,使用${name}這樣去取值,name就是你取的變量名稱。

技術分享圖片

技術分享圖片

調用

技術分享圖片

(2)函數生成器

函數生成器可以參照一定的規則生成數據

隨機數__Random,可以在你指定的一個範圍內取隨機值

自增函數__counter

取當前時間__time,不加參數時為時間戳(計算機發明到現在過了多少秒),如果在有一些需要傳時間的情況下可以使用,日期格式是:yyyy-MM-dd HH:mm:ss(年-月-日-小時:分鐘:秒)

調出函數助手:選項—>函數助手對話框

技術分享圖片

註冊用戶接口:

技術分享圖片

在線程組中將循環次數改為5,即一次調用5次請求,註冊5個用戶

技術分享圖片

查看結果樹:

技術分享圖片

技術分享圖片

(3)從文件中讀取

文件讀取就是事先寫好一些數據,然後從文件中讀取,比如說學生金幣充值接口,將需充值的學生id寫在文件userId.txt中,jmeter在做壓測時直接從userId.txt中讀取即可

從文件中讀取的話,三個步驟

1、讀取文件

2、取文件內容裏面的參數,給它一個名字

3、使用值

從文件讀取,需要在線程組裏面添加一個CSV Data Set Config,它就是做前面兩步的操作的

技術分享圖片

技術分享圖片

參數解釋:

Filename:文件路徑,若只寫文件名字需把文件放在jmeter的bin目錄中

Variable Names:變量名稱,是用戶自己定義的(若有多個變量需用Delimiter中定義的符號隔開)

Delimiter:多個變量間用什麽符號隔開,默認為英文逗號

Stop thread on EOF:文件中的數據讀完之後是否再循環讀取,默認為false

金幣充值接口:

技術分享圖片

第一列為userid,第二列為金幣值,中間用英文逗號隔開

技術分享圖片

查看結果樹:

技術分享圖片

2.5 Jmeter關聯

1、 調用第一個接口,然後從這個接口的返回數據裏面拿到某個值

2、 放到第二個接口裏面來用

例如:金幣充值接口

在登錄接口中添加jp@gc-JSON Path Extractor

技術分享圖片

登錄接口的返回值:

技術分享圖片

技術分享圖片

查看結果樹:

添加調試工具Debug Sampler,查看詳情

技術分享圖片

技術分享圖片

PS:登錄接口需放在金幣充值接口前面

接口測試工具之JMeter(1)