1、爲何要單獨測試接口?前端
1. 程序是分開開發的,前端尚未開發,後端已經開發完了,能夠提早進入測試
2. 接口直接返回的數據------越底層發現bug,修復成本是越低的
3. 接口測試能模擬功能測試不能測到的異常狀況,例如修改訂單金額java
2、get請求和post請求mysql
二者的區別:正則表達式
get請求向服務端獲取數據的 ,post請求向服務端發送數據sql
get傳參寫在url或cookie中 ,post將數據放在body中數據庫
get請求沒有請求體,只有請求頭,post有請求頭和請求體json
get有長度限制(x)如今沒有限制了後端
post請求更安全(x)抓包都能抓到,都不安全瀏覽器
3、http狀態碼
2xx 請求成功 常見的200
3xx 重定向
4xx 客戶端發送的請求語法錯誤
5xx 服務端問題安全
4、cookie和session
cookie 存在用戶本地的一個鍵值對 key-value
seesion 存在服務端的一個鍵值對
cookie和seesion 同一個值比對,比對相等容許操做
1.get類型
能夠直接在瀏覽器中進行測試,?後寫參數,&拼參數
2.post類型
請求選擇post,添加參數便可
3.入參是jason類型
選擇Body-raw-JSON(application/json),直接將jason串複製進來
4.請求頭加cookie
在Headers中添加cookie的key和value
5.請求頭加refer
6.上傳文件
body-form-data-File-選擇文件便可
sep1測試計劃-添加-Threads-線程組
sep2 線程組-添加-Sample-http請求
sep3 添加域名、端口號、協議、請求方法、路徑、編碼格式、參數
參數爲文件 Files Upload --添加--文件名稱:文件的絕對路徑,或直接把文件放在jmeter的bin路徑下,直接添加文件名,參數名稱:參數名
sep4添加斷言(至關於LR中的檢查點) 請求-添加-斷言-響應斷言---斷言內容請求response中的值
sep5 添加監聽查看請求結果 線程組、請求-添加-監聽器-察看結果樹
sep6 根據須要添加配置原件(例如cookie或http信息頭)
參數化-----服務器或程序校驗輸入值的惟一性須要參數化,例如新加用戶,手機後不能重複添加
方法一:添加-配置元件-CSV Data Set Config
參數化文件首行不用寫參數名,引用參數時 -----${參數名}
方法二:使用函數助手
選項---函數助手 經常使用的time取到秒級能夠用作惟一性的參數的取值,random生成一個取值範圍,任意取其中的一個值
方法三:配置原件-----用戶定義的變量,一 一寫出來
關聯----服務器返回動態碼,爲了經過服務器的驗證,使用關聯,例如,添加金幣,須要服務器返回動態的記錄用戶登陸狀態的sign串
方法一:正則表達式
添加-後置處理器-正則表達式提取器
正則表達式,須要看從哪一個請求返回,就去那個請求的返回集中找,找到後複製該動態值以及左右邊界,動態值替換爲正則表達式便可
方法二 jason path(須要安裝插件)$.login_info.sign 表明返回jason串中,取真個jason下面的login_info節點下面的sign的值
sep1測試計劃加載java鏈接mysql的jar包
sep2 添加JDBC Connection Configuration 線程組-添加-配置元件-JDBC Connection Configuration
Variable Name 能夠任意添寫
database url:jdbc:mysql://ip:端口號/庫名?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true 注:characterEncoding=UTF-8保證新增修改數據庫中文不亂碼,allowMultiQueries=true 容許同一個請求同時寫增刪改查操做
JDBC driver Class:com.mysql.jdbc.Driver 固定寫法
username:數據路用戶名 Password 數據庫密碼
sep3 添加 jdbc request 線程組-添加-Sample-JDBC Request
Variable Name 必定要和JDBC Connection Configuration中Variable Name已知,不然報錯
Query Type 選Callables Statement 能夠同時寫增刪改查
在jmeter.properties 這個文件裏面
找到sampleresult.default.encoding=xx
後面xx改爲utf-8,而後取消註釋
解決jmeterbody裏面中文顯示不出來
找到 JSyntaxTextArea
而後把註釋取消就好了,以js開頭的
解決請求參數中午亂碼 請求頁面
content encoding 填寫utf-8
解決數據庫操做中文亂碼
database url後添加characterEncoding=UTF-8