一 接口測試基礎
內部接口通常由研發自測
外部接口主要由測試負責
因爲開發進度的不一樣 ,通常接口測試先於功能測試.
一、越早發現BUG,修復成本越低。
越底層發現BUG,修復成本越低。
2.先後端研發是兩撥人,通常先進行接口測試,而後再進行功能測試。
3.接口測試能夠覆蓋更多的異常測試場景。
4.接口測試就是功能測試,省去了前端UI的驗證
接口測試的必要性:
一、能夠發現不少在頁面上操做發現不了的bug
二、檢查系統的異常處理能力
三、檢查系統的安全性、穩定性
四、前端隨便變,接口測好了,後端不用變
5.get請求直接在瀏覽器中調用便可,不用藉助其餘工具
向服務端獲取數據
post請求:
向服務端發送數據
區別:
GET請求和POST請求的區別:
☆ 一、GET使用URL或Cookie傳參。而POST將數據放在BODY中。
二、GET的URL會有長度上的限制,則POST的數據則能夠很是大。
如今瀏覽器技術已基本成熟,get和post都無數據大小限制
三、POST比GET安全,由於數據在地址欄上不可見。
都不安全
四、通常get請求用來獲取數據,post請求用來發送數據。
沒有嚴格定義哪一種方法進行哪一種操做數據方式
6.接口返回信息以json形式展現,json是一種通用的數據類型全部的語言均可以識別處理。
7.HTTP狀態碼
一、200 2開頭的都表示這個請求發送成功,最多見的就是200,就表明這個請求是ok的,服務器也返回了。
二、300 3開頭的表明重定向,最多見的是302,把這個請求重定向到別的地方了,
三、400 400表明客戶端發送的請求有語法錯誤,401表明訪問的頁面沒有受權,403表示沒有權限訪問這個頁面,404表明沒有這個頁面
四、500 5開頭的表明服務器有異常,500表明服務器內部異常,504表明服務器端超時,沒返回結果前端
8.接口測試用例設計:java
1.經過性驗證
2.參數組合
3.接口安全驗證:繞過驗證、繞過身份受權、參數是否加密、密碼安全規則
4.異常驗證mysql
二 .jmeter
一款跨平臺,使用簡單的壓力測試,接口測試工具。
線程組:線程數 -->併發數
上傳文件的時候要填寫絕對路徑 不寫絕對路徑 默認是在Jmeter的bin目錄下查找上傳的文件
當響應數據或響應頁面沒有設置編碼時,jmeter會按照jmeter.properties文件中,sampleresult.default.encoding設置的格式解析 默認ISO-8859-1,解析中文確定出錯。
線程組 HTTP請求 查看結果樹 配置元件-HTTPcookie管理器 配置元件-HTTP消息頭管理器 斷言-響應斷言
配置元件 - CSV DATA SET CONFIG 用來參數化參數
後置處理器 - json path postprocessor 用來關聯接口
配置元件 - JDBC Connection Configuration 用來配置數據庫連接地址、數據庫驅動
Sampler - JDBC request 用來填寫執行的SQL語句
斷言:接口執行正確時,沒法查看斷言結果。當接口失敗時,可查看斷言。
數據參數化中文亂碼解決方法:
1.讀文件時,查看結果數中【請求】頁籤中文亂碼 CSV DATA SET CONFIG 中的 file encoding 填寫 utf-8
cookie 存在用戶本地的鍵值對
key value
session 存在服務端的一個鍵值對
正則表達式: "sign": "(.*)",
Jmeter 操做數據庫:
引入JAR包 :測試計劃
直接把「mysql-connector-java-5.1.7-bin.jar」放在Jmeter目錄下的 \lib\ext 這個目錄下 貌似測試計劃裏就不用再導入驅動了正則表達式