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