本接口測(cè)試框架使用python語言實(shí)現(xiàn),基于pytest測(cè)試框架,同時(shí)集成Jenkins和Allure
核心特性
- 封裝requests請(qǐng)求,使用裝飾器模式
- 詳細(xì)的請(qǐng)求日志輸出
- 環(huán)境與數(shù)據(jù)隔離,實(shí)現(xiàn)不同環(huán)境不同數(shù)據(jù)
- 測(cè)試用例支持參數(shù)化和數(shù)據(jù)驅(qū)動(dòng)機(jī)制
- 使用allure測(cè)試報(bào)告,測(cè)試結(jié)果統(tǒng)計(jì)報(bào)告簡(jiǎn)潔清晰
- 集成Jenkins,實(shí)現(xiàn)持續(xù)集成
- 連接企業(yè)和個(gè)人微信告警消息系統(tǒng)
文件結(jié)構(gòu)
-
framework文件夾
將requests庫(kù)進(jìn)行二次封裝,可直接使用裝飾器進(jìn)行請(qǐng)求,例子如下:
請(qǐng)求.png -
api文件夾
主要存放項(xiàng)目的所有接口請(qǐng)求,建議一個(gè)項(xiàng)目一個(gè)文件,思路為創(chuàng)建一個(gè)類,而初始化方法調(diào)用登錄接口,即創(chuàng)建一個(gè)類對(duì)象就創(chuàng)建了一個(gè)用戶,保證后續(xù)使用時(shí)可創(chuàng)建多個(gè)用戶
api.png config文件夾
主要用于環(huán)境配置,使用代碼方式可以實(shí)現(xiàn)環(huán)境的一鍵切換,同時(shí)也便于集成Jenkins
# env.py
class QAFC:
# 用戶中心
XG_USER_CENTER = 'http://****.ops.com'
# 后臺(tái)登錄
TUBOBO_MANAGE_LOGIN = 'http://******.ops.com'
# 網(wǎng)關(guān)
GATEWAY_URL = 'http://****.ops.com'
class UAT:
# 用戶中心
XG_USER_CENTER = 'http://******/xgusercenter'
# 后臺(tái)登錄
TUBOBO_MANAGE_LOGIN = 'http://*****.com'
# 網(wǎng)關(guān)
GATEWAY_URL = 'http://*****.com'
class DEV:
# 新光用戶中心
XG_USER_CENTER = 'http://*****.ops.com'
# 后臺(tái)登錄
TUBOBO_MANAGE_LOGIN = ''
# 網(wǎng)關(guān)
GATEWAY_URL = 'http://******/pos-engine'
# 設(shè)置環(huán)境,主要是為了后續(xù)Jenkins集成,讀取環(huán)境變量
env = os.getenv('environment', 'dev')
if env == "qafc":
CONFIG = QAFC
elif env == "dev":
CONFIG = DEV
elif env == "uat":
CONFIG = UAT
else:
CONFIG = QAFC
-
testsuites文件夾
存放測(cè)試用例
testcase.png -
jsonSchema文件夾
存放斷言返回字段以及類型的jsonSchema文件
ya.png data文件夾
寫測(cè)試用例時(shí)需要的一些固定id,唯一值,數(shù)據(jù)庫(kù)取值等,比如登錄賬戶,查看文章詳情需要id,審核時(shí)需要的id(先生成記錄然后數(shù)據(jù)庫(kù)讀取記錄 or teardown時(shí)修改數(shù)據(jù)庫(kù)狀態(tài)值進(jìn)行數(shù)據(jù)恢復(fù)),唯一的郵箱/手機(jī)號(hào)/身份證等......log文件夾
存放日志
Jenkins集成與Allure測(cè)試報(bào)告
前置條件:
系統(tǒng)管理--插件管理:安裝插件allure、安裝Parameterized Trigger
系統(tǒng)管理--全局工具配置:配置Allure Commandline

-
新建自由風(fēng)格的job,進(jìn)入job配置頁(yè)面,參數(shù)化構(gòu)建
這里的environment就是代碼中需要的環(huán)境變量,用于切換環(huán)境
構(gòu)建.png -
源碼管理
配置git.png -
配置分支
分支參數(shù)化.png
4、構(gòu)建腳本

-
構(gòu)建后生成Allure測(cè)試報(bào)告
構(gòu)建配置.png
效果.png
-
構(gòu)建后觸發(fā)新的job(即告警系統(tǒng))
告警系統(tǒng)為一個(gè)獨(dú)立的job,通過這個(gè)配置將當(dāng)前job的一些參數(shù)傳遞給后一個(gè)job
告警.png -
告警系統(tǒng)使用參數(shù)化構(gòu)建
告警系統(tǒng)主要實(shí)現(xiàn)功能是實(shí)時(shí)發(fā)送構(gòu)建結(jié)果給企業(yè)或個(gè)人微信用戶,代碼邏輯主要是調(diào)用Jenkins API獲取構(gòu)建結(jié)果、調(diào)用企業(yè)微信API獲取token并發(fā)送消息
告警系統(tǒng).png










