與JMeter的第一次親密接觸
postman和JMeters是外部接口測試的兩個工具,通過界面化的方法,來實現操作http報文攜帶的請求字段、VK值、json、cookie、header值及文件。本篇主要介紹JMeter。
測試環境:
接口文檔地址:http://doc.nnzhp.cn/
用戶名密碼:xiaohei/******
使用JMeter時首先創建一個線程組,在線程組上創建測試任務。
本篇涉及到的測試內容都是get/post的http請求,創建任務時,在線程組-添加-sampler上創建http請求。
點綠色三角按鈕運行任務,在任務右鍵-添加-監聽器-查看結果樹,來觀察請求和結果。
一、get獲取學生信息
簡要描述:獲取學生信息接口
請求URL:http://api.nnzhp.cn/api/user/stu_info
請求方式:get
參數:
JMeter配置方法: 填寫地址、端口默認80、方法GET、填寫路徑(不帶地址)及請求參數名和參數值。
二、post+KV進行用戶登錄
簡要描述:登錄接口
請求URL:http://api.nnzhp.cn/api/user/login
請求方式:post
參數:
用戶名密碼:不可描述/不可描述
JMeter配置方法:
1. 填寫地址、端口默認80、請求方式改為post、填寫路徑
2.K-V值在body中配置
3.登錄成功後,服務器返回sign作為客戶端的cookie值
三、post+json添加學生信息
簡要描述:添加學生信息,這個接口是用來講入參是json類型的
請求URL:http://api.nnzhp.cn/api/user/add_stu
請求方式:post;入參是json類型
參數:
postman配置方法:
1、添加地址、端口、路徑
2、在bodydate中配置json腳本,參數名加"",str參數加"‘,int不加"",必選項必填,結尾以“,”分隔。
另外,如果str中有漢字,需要補充配置編碼為utf-8,否則存入數據庫為亂碼,查不到。
四、(A)post+cookie完成充值
簡要描述:學生金幣充值接口,這個接口是為了講添加cookie以及身份驗證的
請求URL:http://api.nnzhp.cn/api/user/gold_add
請求方式:post
參數:
該接口有權限驗證,需要admin用戶才可以做操作,需要添加cookie
cookie中key為登錄的用戶名,value從登錄接口中獲取,登陸成功之後會返回sign
JMeter配置方法:
1、充值操作需要依賴管理員登錄的cookie,右鍵-添加-配置元件-http信息頭管理器
2、在http信息頭部管理中加入cookie參數
3、配置充值VK值信息
(B)另一種高端配置方式:
1、添加用戶自定義變量,定義ip
2、添加http cookie管理器,配置管理員登錄的用戶名、密碼
3、配置充值VK值信息
五、通過Referer value驗證,獲取所有學生信息
簡要描述:這個接口是為了說明怎麽添加header信息的
請求URL:http://api.nnzhp.cn/api/user/all_stu
請求方式:get
需要添加header信息,key為Referer value 為http://api.nnzhp.cn/
JMeern配置方法:
1、請求方式為get
2、添加header頭部,添加方式與(四)中相同,配置Referer
3、Referer意義:告訴服務器我是從哪個頁面鏈接過來的,防釣魚網站
六、通過接口上傳文件
簡要描述:上傳文件接口
請求URL:http://api.nnzhp.cn/api/file/file_upload
請求方式:post
參數:
JMeter配置方法:
1、可以使用自定義參數ip,請求方式為post
2、在file upload中,修改文件類型為file,瀏覽選擇文件路徑
七:解決亂碼問題
JMeter查看結果樹為亂碼,解決方案:
1、在jmeter的bin目錄下找到jmeter.properties這個文件上,搜索sampleresult.default.encoding並改為sampleresult.default.encoding=utf-8,去掉註釋符號#
2、重啟jmeter
body date中添加中文字符為亂碼,解決方案:
1、在jmeter的bin目錄下找到jmeter.properties這個文件添加上,將jsyntaxtextarea.font.family=Hack的註釋符號#去掉
2、重啟jmeter
八、JMeter參數化
Jmeter參數化的方式有三種:用戶定義的變量、函數生成器、從文件中讀取
1、用戶定義的變量,引用方式:${定義參數名稱}
2、函數生成器
1、打開函數助手對話框(插件)
2、選擇調用的函數,如-random、-time等
3、配置參數,點生成生成對應函數表達式
4、將函數表達式放入對應的參數中調用
隨機數-random
時間生成函數-time
3、從文件中讀取
路徑:填寫絕對路徑,如果放在bin目錄下可以只寫文件名
參數化名稱:可以填寫多個參數,在文本中以定義的符號分隔為多列
九、斷言
斷言:將返回內容與設置內容相比對,符合則在結果樹中返回成功,不符合則返回失敗。
比如這裏配置一個包括“操作失敗”內容的斷言,而執行返回結果中查不到此內容,則斷言失敗。
與JMeter的第一次親密接觸