jmeter工具使用

http接口簡單測試

端口地址:http://xxx.xxx.xxx.xxx:9002/school/tree

步驟 操作 參數
1.添加線程組 項目下>編輯>添加>線程>線程組 填入名稱,線程數等
2.添加用戶定義自變量 項目下>編輯>添加>配置文件>用戶定義自變量

名稱:ip,值:xxx.xxx.xxx.xxx

名稱:port,值:9002

3.添加http請求 線程組下>編輯>添加>取樣器>HTTP請求

1.使用用戶自定義變量:ip:${ip},端口號:${port},

2.路徑:/school/tree,

3.添加傳入的參數/消息體數據(可選)消息體格式是json,例如

{"schoolId": 13,
"password": "123456", 
"id": "201610110080"
}

4.添加請求監聽器 請求下>編輯>添加>監聽器>查看結果樹/彙總圖/beanshell監聽器  
5.添加http頭信息頭處理器 編輯>配置元件>http信息頭處理器

名稱:Content-type,charset,Content-length

值:application/json,utf-8,length

6.添加BeanShell 預處理程序 編輯>前置處理器>Beanshell預處理器 prev.setDataEncoding("utf-8");


處理cookie和session

方法一:直接在線程組添加http請求cookie管理器

方法二:請求頭中cookie信息:set-cookie{xxxxxxxx},path=/futureloan

步驟 操作 參數
獲取cookie部分 1.在獲取cookie的請求下添加正則表達式處理器 編輯>添加>後置處理器>正則表達式處理器

要檢查的響應字段選擇:請求頭

引用名稱:cookie

正則表達式:set-cookie{.*},path=/futureloan

模板:$1$

2.線程組下添加Debug Sampler獲取正則表達式結果

編輯>添加>取樣器>調試取樣器

編輯>Sampler>Debug Sampler

不用填
4.線程組下添加察看結果樹獲取正則表達式結果 編輯>添加>監聽器>察看結果樹 不用填
使用cookie 3.在需要發送cookie的http請求下添加cookie管理器 添加>配置元件>http cookie管理器

名稱:

值:${cookie}

域:xxx.xxx.xxx.xxx

路徑:/futureloan

參數化

1.使用用戶定義變量

項目下>編輯>添加>配置文件>用戶定義自變量

2.使用函數

函數類型 參數解釋 例子

_Random string

隨機字符串

Random string length:長度

Chars to use for random string generation:用於隨機字符串生成的字符

 

Random string length:8

Chars to use for random string generation:0123456789

存儲結果的變量名(可選):phone8

生成:${__RandomString(8,0123456789,phone8)}

使用:phone:156${__RandomString(8,0123456789,phone8)}

_time

生成隨機時間 

   
_UUID 取唯一id  
_char 將一組數字轉化爲unicode  
     

3.添加csv配置文件

 

步驟 操作 參數
1.新建csv文件,每一列是一個變量

15666667574   jennnifer  18

15688887574   young       19

15699997574   tony           20

phone,name,age
1.在線程組添加配置文件 編輯>添加>配置元件>csv數據文件設置 變量名稱:phone,name,age
2.在http請求的參數中使用

http請求-參數-添加

參數名:id

值:${phone}

參數名:name

值:${name}

 

錄製腳本

jemter作爲代理服務器

步驟 操作 參數
     
     
     
     
     
     
     

接口測試

 

接口自動化

 

數據加密和批量創建測試數據beanshell

1.操作數據庫

數據庫url和端口127.0.0.1:3306

數據庫名:zhaopin

表名:admin

編碼:utf-8

步驟 操作 參數
1.下載一個mysql-connect-jar 下載到jmeter的lib/ext目錄下
2.添加JDBC連接 線程組下>編輯>添加>配置元件>JDBC Connection Configuration

Variable Name:變量名,隨便設

Database Url:jdbc:mysql://127.0.0.1:3306/zhaopin?useUnicode=true&characterEncoding=utf8

JDBC Driver Class:com.mysql.jdbc.Driver

Username:數據庫用戶名

Passwd:數據庫密碼

3.添加JDBC請求 線程組下>編輯>添加>取樣器(Sampler)>JDBC Request

Query type:Update statement(修改操作選這個)

Query(sql語句):

insert into admin(id,name,password,school_id)values('hnlg001','華南理工大學','123456',12)

4.添加察看結果樹 線程組下>編輯>添加>監聽器>察看結果樹 不需要

2.數據加密

在線程組添加beanshell取樣器,將加密代碼copy進去

線程組下>編輯>添加>取樣器>beanshell取樣器

將輸出的pwd變量轉爲jmeter的變量:vars.put("jemeterData",pwd),

sql語句中使用jmeter變量:insert into admin(id,name,password,school_id)values('hnlg001','華南理工大學',${jmeterData},12)

文件下載

獲取token的url:http://127.0.0.1:9004/auth/admin/login

測試url:http://127.0.0.1:9004/dev-api/studentJos/excel/1/${token}

參數:token

步驟 操作 參數

1.登錄的get請求獲取token

1.創建http請求

消息體數據:

{"username": "hnlggz001",
"password": "123456"
}

2.添加察看結果樹,看到token在響應數據response body裏面

{"code":10000,"message":null,"success":true,

"data":"xxxxx"}

3.添加正則表達式提取器

要檢查的響應字段:Body(unescaped)

名稱:token

正則表達式:"data":"(.*)"

2.文件下載的http請求 1.創建http請求

路徑:dev-api/studentJos/excel/1/${token}

2.創建http頭信息管理器

名稱:token

值:${token}

  3.察看結果樹

源數據:{"status":"ok",data:{"fileName":"xx.png","fileUrl":"xxx.png?token=xxxxx"},fileVersion}

正則表達式選取token:"fileUrl":"(.*?)"

獲取響應結果

 

導出測試數據

將jmeter的bin目錄添加到系統變量path去,解決jmeter不是內部或外部指令的問題

jmeter -n -t D:\testing\基於web的高校就業信息系統\登錄獲取token.jmx -l report.jtl -e -o D:\testing\基於web的高校就業信息系統

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章