一、什么是接口測試
通常做的接口測試指的是系統對外的接口,比如你需要從別的系統來獲取到或者同步資源與信息,他們會提供給你一個寫好的接口方法供你調用,比如常用的app,用戶同步這些在處理數據的時候需要通過接口進行調用。
webService接口和http api接口是最常見的兩種接口方式,后者最常用,采用http協議,有get 和post請求方法,返回的數據是json類型,接口測試也可以說是功能測試,通過調用接口從數據庫中獲取到數據,返回回來。
二、前端和后端
前端和后端如果說成客戶端與服務端比較好理解,在瀏覽器上打開一個網頁,打開一個管理系統,在一個APP上操作,這些都屬於前端,他的作用就是顯示頁面,操作頁面,而處理這些業務邏輯功能比如說頁面上的非空校驗,業務邏輯功能能都是通過后端來實現的,而前端和后端的交互正是通過接口來交互的。
三、get請求和post請求的區別
get請求接口的請求數據是放在url里面的,post請求接口的請求數據是放在body里面的,get請求可以在瀏覽器中直接訪問,而post請求只能借助工具完成
四、cookie和session
cookie是存放在本地的一個健值對 對應的是key-value,session是存放在服務端的一個健值對k-v
五、接口測試的依據
接口規范文檔,接口文檔至少包括
1、接口說明
2、調用url
3、請求方法(get\post)
4、請求參數、參數類型、請求參數說明
5、返回參數說明
六、HTTP狀態碼
每個發出去的http請求,都會返回一個狀態碼,用來標識這個請求是否成功,常見的狀態碼有以下幾種:
1)200 2開頭的表示請求成功
2)300 3開頭的代表重點向
3)400 4開頭的代表客戶端發送的請求有語法錯誤
4)500 5開頭的代表服務器有異常
七、通用接口用例
八、postman接口測試
1)get請求
請求參數可以在url后面直接傳參,多個參數用&符號,url?x=x&xx=xx
header 用來傳輸一些額外的信息
例如:獲取學生信息接口,postman測試操作截圖
獲取所有學生信息接口添加header信息,postman測試操作截圖
2)post請求
例如登陸接口,包含內容:post請求方式,請求url,參數在body處填寫,點擊send返回數據
添加學生信息接口(入參是json類型),包含內容,請求url,post請求,參數在body內選擇raw填寫json串
學生金幣信息充值接口,包含權限認證需要添加管理員權限cookie,操作內容包含請求url,選擇Headers添加cookie,body添加參數
獲取所有學生信息接口,添加header信息,操作包含內容,請求url,header添加Referer
文件上傳接口
九、Jmeter接口測試
1) jmeter查看結果樹亂碼?
到jmeter的安裝目錄bin目錄下找到jmeter.properties,添加sampleresult.default.encoding=utf-8
重啟jmeter
2)jmeter body data里面有亂碼怎么解決?
到jmeter的安裝目錄bin目錄下找到jmeter.properties,添加jsyntaxtextarea.font.family=Hack
重啟jmeter
3)jmeter參數化
- 用戶定義的變量
線程組-》添加-》配置元件-》用戶定義的變量,添加名稱,值,引用變量填寫${變量名}
- 函數助數
選項-》函數助手對話框,選擇函數功能,例如__random、__time ,選擇后點擊【生成】,把生成的函數字符串拷貝到請求數據中 ,__time生成的是時間戳,時間戳就是從計算機誕生那一天到現在過了多少秒,如果要轉換其他日期格式,在函數助手框中取值處填寫再生成
- 文件讀取
線程組-》添加-》配置元件-》CSV Data Set config
4)jmeter壓測指標
線程組-添加-聚合報告可以看到並發用戶數、響應時間(越快越好)、tps(服務端每秒鍾處理的請求數 越大越好)。
5)用JSON Path PostProcessor關聯獲取返回信息
- 安裝JSON Path PostProcessor插件
- 請求-》添加-》后置處理器-》SON Path PostProcessor
- 根據返回json參數中的對應數據進行提取,例如sign對應的k值是login_info即$.login_info.sign
6)操作數據庫步驟
1、安裝mysql-connector-java-5.1.7-bin.jar,放到jmeter安裝目錄的lib目錄下
2、測試計划-瀏覽,添加mysql-connector-java-5.1.7-bin.jar
3、線程組-添加-配置元件-JDBC Connection Configuration,填寫數據庫連接
4.線程組-添加-sampler-JDBC Request
選擇操作類型,查詢選擇select statement 只限單條查詢,如果多條查詢可選擇Callable Statement(不限格式)但除了最后一條sql,其他sql需要用;來結束, insert語句選擇Callable Statement