接口測試就是測試系統(tǒng)組件接口之間的一種測試
一分類
測試外部接口? ? 內(nèi)部接口提供給外部系統(tǒng)使用 測試必須非常全面
測試內(nèi)部接口 1.內(nèi)部接口只提供給內(nèi)部系統(tǒng)使用的田绑。保險預算 兽愤,承包系統(tǒng)? 只需要執(zhí)行正例? ?內(nèi)部自己使用部對外開放
二接口測試的流程以及測試用例設(shè)計
1.鑒權(quán)需要了解? 拿到接口API文檔孕蝉,熟悉接口業(yè)務屡律,接口地址,鑒權(quán)降淮,入?yún)?
2.正例 輸入正常入?yún)? 接口能夠成功返回數(shù)據(jù)??
返例 鑒權(quán)反例:鑒權(quán)為空超埋,鑒權(quán)錯誤,鑒權(quán)碼過期? ? ?參數(shù)反例:參數(shù)為空 參數(shù)類型異常 參數(shù)長度異常
3.postman執(zhí)行接口測試
4.postman+Newman+Jenkins實現(xiàn)持續(xù)集成佳鳖。并且輸出測試報告并且發(fā)送郵件
界面介紹 Home主頁 workspaces 工作空間 Collections 集合? ?ApiS api文檔 EnViromments 環(huán)境變量 全局變量? Mock Server虛擬服務器
請求頁面包含??
Params :get請求傳參? Authorization:鑒權(quán) headers:請求頭 Body post請求傳參? none:沒有參數(shù)? form-data 既可以傳鍵值對 也可以傳文件
x-www-from-urlencoded :只能夠傳鍵值對參數(shù) raw:json ,text,html binary:把文件以二進制方式傳參
pre- request-script:請求之前的腳本? tests:請求之后的斷言 cookies:用于管理cookie信息
響應頁面頁簽
body:接口返回的數(shù)據(jù)? Pretty:以不同的格式查看返回的數(shù)據(jù) Raw:以文本的方式查看返回的數(shù)據(jù) PreView:以網(wǎng)頁的方式查看返回的數(shù)據(jù)
Cookies: 響應的cookie信息?
Headers:響應頭??
Test Results 斷言的結(jié)果?
get請求與post請求區(qū)別
1.get請求一般是獲取數(shù)據(jù) post請求一般是提交數(shù)據(jù)
2.請求安全
3.傳參方式不一樣? get地址欄 多個參數(shù)之間用&分隔 post請求在body以表單的方式傳參
問題:企業(yè)中的多種環(huán)境? 接口關(guān)聯(lián)需要手動關(guān)聯(lián)? 參數(shù)需要手動修改
postman環(huán)境變量? 找到Environments? ? ?創(chuàng)建一個環(huán)境變量? 通過{ {變量名 } }來獲取 執(zhí)行前選擇對應的環(huán)境
?Globals(全局變量) 可以在任何接口里面訪問的變量? ?獲取方式{{變量名}}
實現(xiàn)接口關(guān)聯(lián)? json提取? 正則提取
json演示? ??
使用正則表達式實現(xiàn)接口關(guān)聯(lián)
postman內(nèi)置動態(tài)參數(shù)以及自定義的動態(tài)參數(shù)
內(nèi)置動態(tài)參數(shù)? 生成當前時間的時間戳{{$timestamp}}? 生成0-1000之間的隨機數(shù){{$randomint}}? 生成隨機GUID字符串{{$guid}}
自定義動態(tài)參數(shù)? 使用代碼手動來
postman斷言
postman批量運行
文件需要放到postman允許訪問的路徑
postman數(shù)據(jù)驅(qū)動之csv文件與json文件
postman發(fā)送https請求? 需要到設(shè)置關(guān)閉ssl認證關(guān)閉