什么叫接口卵贱?軟件不同部分之間的交互接口。通常就叫接口侣集。API是應(yīng)用程序的接口键俱。表現(xiàn)形式為源代碼。具體到開發(fā)過程中肚吏,一般是前后端一方定義好接口方妖,另一方調(diào)用接口進(jìn)行測(cè)試。
? ? 常見的接口類別有HTTP接口罚攀,webservice接口党觅,該接口走SOUP協(xié)議,請(qǐng)求和響應(yīng)報(bào)文都是
xml格式斋泄,通過SoupUI工具進(jìn)行測(cè)試杯瞻;HTTP接口則走HTTP協(xié)議,通過不同的資源路徑來區(qū)分不同調(diào)用的方法炫掐,請(qǐng)求報(bào)文一般可以是多種格式,響應(yīng)報(bào)文則為Json格式魁莉,最常見的方法有g(shù)et和post方法。
? 接口的過程,由前端發(fā)送請(qǐng)求報(bào)文募胃,后端對(duì)請(qǐng)求報(bào)文處理后返回響應(yīng)報(bào)文給前端旗唁。
接口測(cè)試的好處,穩(wěn)定更容易實(shí)現(xiàn)自動(dòng)化持續(xù)集成痹束,提高測(cè)試效率检疫。從安全性來說也需要對(duì)前后端的傳輸、日志的打印是否加密傳輸進(jìn)行驗(yàn)證祷嘶。特別是涉及到用戶的隱私和密碼屎媳,身份證信息的時(shí)候夺溢。
? 接口測(cè)試的范圍包括功能、性能烛谊、安全性风响,重點(diǎn)關(guān)注數(shù)據(jù)的交換,傳遞丹禀,和處理的次數(shù)状勤。
通常情況下,只對(duì)數(shù)據(jù)進(jìn)入接口的入口或調(diào)用第三方接口參數(shù)的入口和接口的出口驗(yàn)證系統(tǒng)處理后的數(shù)據(jù)是否正常湃崩。
接口的文檔一般包括接口名稱荧降,URL,請(qǐng)求方法攒读,入?yún)⒍浣耄瑓?shù)類型,參數(shù)說明薄扁,返回參數(shù)說明剪返,返回內(nèi)容示例。
示例:
簡(jiǎn)單描述:用戶更新
URL:https://api.apiopen.top/updateUserInfo
請(qǐng)求方法:POST
參數(shù):
返回示例
返回參數(shù)說明:
POSTMAN介紹
頂部New按鈕可以新建Request請(qǐng)求邓梅,Collection套件脱盲,環(huán)境,API集合日缨,Mock服務(wù)钱反,監(jiān)視器六大功能
import可以導(dǎo)入FIle,F(xiàn)OLDer文件夾,form link匣距,RAW Text等面哥。
runner打開一個(gè)可執(zhí)行collections的新窗口
+可選打開一個(gè)TAB頁(yè)面,Postman頁(yè)面或者windows頁(yè)面毅待。
Myworkspace:構(gòu)建器及團(tuán)隊(duì)庫(kù)選項(xiàng)卡
invite:postman的抓包功能
settings:可以進(jìn)行設(shè)置尚卫。
?可以分享
cookies可以管理請(qǐng)求的cookie
code提供二十種語言生成與請(qǐng)求相關(guān)的代碼
console:可以查看請(qǐng)求和響應(yīng)的相關(guān)日志
使用內(nèi)置方法完成POSTMAN的測(cè)試
get請(qǐng)求
post URI請(qǐng)求
post form-data傳參請(qǐng)求
post? x-www-form-urlencoded請(qǐng)求
post raw傳參 請(qǐng)求
post Binary上傳文件 請(qǐng)求
Authorization授權(quán)認(rèn)證,提供對(duì)某些請(qǐng)求敏感數(shù)據(jù)的權(quán)限設(shè)置尸红。默認(rèn)為不需要認(rèn)證授權(quán)吱涉。Authorization提供了多種授權(quán)協(xié)議類型包括
.No Auth
.API key
.Bear Token
.Basic Auth
.Digest Auth
.OAuth 1.0
.OAuth 2.0
.Hawk Authentication
.AWS Signature
.NTML Authentication[Beta]
在示例中可以使用Basic-Auth方式授權(quán)協(xié)議。使用時(shí)需要輸入賬號(hào)名和密碼外里。
在請(qǐng)求中添加Headers參數(shù)
接口自動(dòng)化示例
環(huán)境:node 14.5, newman, postman, jenkins
示例
POSTMan結(jié)果
TESTS斷言:(1)要求status code等于200
(2)要求Response body中包含字符串“特朗普”
(3)要求響應(yīng)時(shí)間小于10ms
此外可以添加更多斷言
Postman + Newman + Jenkins 實(shí)現(xiàn)接口自動(dòng)化測(cè)試
環(huán)境安裝:win8,postman,Newman,node.js(win),
jenkins;
1怎爵、保存save保存接口到集合collections中
2、將保存的collection文件以json文件的格式導(dǎo)出到本地
下環(huán)境
3盅蝗,進(jìn)入命令窗口 輸入newman run C:\Users\Administrator\Desktop\News_Search.postman_collection.json
newman run +文件名 -e(可選)環(huán)境變量 -g 全局變量
如果依賴環(huán)境 則 需要從Postman中export導(dǎo)出json格式的文件鳖链。 -e 環(huán)境變量,-g 全局變量
如上圖 新聞?lì)^條接口风科,兩條斷言通過撒轮,一條失敗failed,失敗 原因?yàn)轫憫?yīng)時(shí)間為194ms低于預(yù)期10ms
jenkins部署Newman
控制臺(tái)報(bào)錯(cuò)了贼穆,找到原因重新配置题山。jenkins配置newman腳本。部署后故痊,構(gòu)建顶瞳。第一次構(gòu)建失敗,
在jenkins構(gòu)建項(xiàng)目執(zhí)行構(gòu)建并控制臺(tái)查看到結(jié)果
假設(shè)開發(fā)修復(fù)了接口Bug(這里在josn中把響應(yīng)改為1000)愕秫,再次構(gòu)建jenkins控制臺(tái)輸出結(jié)果構(gòu)建成功慨菱。