Excel中的列的字段(Excel數(shù)據(jù)驅(qū)動(dòng))
id ,模塊 ,url ,是否運(yùn)行 ,請(qǐng)求類型, ? 是否攜帶header, ? case依賴, ? 依賴的返回?cái)?shù)據(jù), ? 數(shù)據(jù)依賴字段, ? 請(qǐng)求數(shù)據(jù) ,預(yù)期結(jié)果, ? 實(shí)際結(jié)果?
Python操作Excel獲取測試數(shù)據(jù)
1.工具類封裝
封裝操作Excel函數(shù)
util包中的operation_excel.py
模塊:xlrd
封裝的方法有:
獲取sheets的內(nèi)容
獲取單元格的行數(shù)
獲取某一個(gè)單元格的內(nèi)容
寫入數(shù)據(jù)
根據(jù)對(duì)應(yīng)的caseid 找到對(duì)應(yīng)行的內(nèi)容
根據(jù)對(duì)應(yīng)的caseid找到對(duì)應(yīng)的行號(hào)
根據(jù)行號(hào)啼县,找到該行的內(nèi)容
獲取某一列的內(nèi)容
2.封裝操作Json函數(shù)(用于獲取Cookie)
util包中的operation_json.py
模塊:json
封裝的方法有:
讀取json文件
根據(jù)關(guān)鍵字獲取數(shù)據(jù)
寫json
3.封裝獲取Excel表格列常量的方法
data包中的data_config.py
Id ='0'
request_name ='1'
url ='2'
run ='3'
request_way ='4'
header ='5'
case_depend ='6'
data_depend ='7'
field_depend ='8'
data ='9'
expect ='10'
result ='11'
4.封裝獲取接口數(shù)據(jù)
data包中的get_data.py
去獲取excel行數(shù),就是我們的case個(gè)數(shù)
獲取是否執(zhí)行
是否攜帶header
獲取請(qǐng)求方式
獲取url
獲取請(qǐng)求數(shù)據(jù)
通過獲取關(guān)鍵字拿到data數(shù)據(jù)
獲取預(yù)期結(jié)果
通過sql獲取預(yù)期結(jié)果
獲取依賴數(shù)據(jù)的key
判斷是否有case依賴
獲取數(shù)據(jù)依賴字段
Post女嘲,Get 基類封裝
模塊:requests
base包中的runmethod.py
解決接口數(shù)據(jù)依賴問題
通過case_id去獲取該case_id的整行數(shù)據(jù)
執(zhí)行依賴測試望众,獲取結(jié)果
根據(jù)依賴的key去獲取執(zhí)行依賴測試case的響應(yīng),然后返回
獲取登錄Cookie及請(qǐng)求的方法
獲取登錄返回的token的url
根據(jù)獲取到的url去取得cookie
將獲取到的cookie寫入一個(gè)json文件
封裝實(shí)際結(jié)果和期望結(jié)果對(duì)比的方法
判斷一個(gè)字符串是否再另外一個(gè)字符串中
判斷兩個(gè)字典是否相等
主流程封裝
1.遍歷Excel表格獲取每一行中的數(shù)據(jù)
2.判斷是否有數(shù)據(jù)依賴,有的話解決數(shù)據(jù)依賴
3.解決Cookie的問題
4.運(yùn)行Post或者Get方法姑曙,將得到的結(jié)果與獲取的期望結(jié)果進(jìn)行對(duì)比,并將結(jié)果寫到Excel中
Case運(yùn)行結(jié)果統(tǒng)計(jì)
此次一共運(yùn)行接口個(gè)數(shù)為_個(gè),通過個(gè)數(shù)為_個(gè)燕偶,失敗個(gè)數(shù)為_,通過率為_,失敗率為_
構(gòu)建發(fā)送郵件服務(wù)
模塊:smtplib(用于連接郵件服務(wù)器,發(fā)送郵件)础嫡,MIMEText(郵件內(nèi)容的封裝)