接口自動化(七)--主程序

主程序就是這個框架的執行模塊,全部的實現方法幾種到主程序模塊:數據庫

 1 from main import requestMethord  2 from data import get_Case  3 from common import compare  4 from common import datadepend  5 from data import operateExcel  6 import json  7 from Log import printlog  8 from common import run_sendMail  9 
10 class runCase(): 11     def __init__(self): 12         self.reqMethord = requestMethord.Methord() 13         self.case = get_Case.getCaseData() 14         self.compare = compare.compareStr() 15         self.operateExcel = operateExcel.operateExcel() 16 
17     #程序執行的主入口
18     def goRun(self): 19         passlist = [] 20         faillist = [] 21         res = None 22         excelRowNum = self.case.getExcelRow() 23         for rownum in range(1,excelRowNum): 24             print("正在執行的行數",rownum) 25             try: 26                 reqUrl = self.case.getUrl(rownum) 27                 runOrNot = self.case.getRun_or_not(rownum) 28                 reqMethord = self.case.getRequestMethord(rownum) 29                 reqData = self.case.getJsonData(rownum) 30                 header = self.case.getHeader(rownum) 31                 respectResult = self.case.getRespectResult(rownum) 32                 depCaseID = self.case.judgeCaseDep(rownum) 33                 depkey = self.case.getDependKey(rownum) 34                 if runOrNot: 35                     if depCaseID != None: 36                         print(depCaseID) 37                         dataDep = datadepend.dataDepend(depCaseID) 38                         #從依賴用例的返回結果中獲取被依賴的數據
39                         depdata = dataDep.getDepData(rownum) 40                         dd = depdata[0] 41                         reqData = json.loads(reqData) 42                         reqData["data"][depkey]=dd 43                         reqData = json.dumps(reqData) 44                     responds = self.reqMethord.runMethord(reqMethord,reqUrl,reqData,header) 45                     re = json.loads(responds.text)["respMsg"] 46                     if self.compare.is_contain(respectResult,re): 47                         self.case.wriRealResult(rownum,"pass") 48  passlist.append(rownum) 49                     else: 50                         self.case.wriRealResult(rownum,"fail") 51  faillist.append(rownum) 52                     self.case.wriReturn(rownum,value=responds.text) 53                 print("#"*100) 54                 logger = printlog.Logger(responds).log() 55             except Exception as e: 56                 print(e) 57                 logger = printlog.Logger(e).log() 58  run_sendMail.RunSendMail(passlist,faillist).sendmail() 59 
60 
61 if __name__ == '__main__': 62     run = runCase() 63     run = run.goRun()

 

到這整個框架算基本完成了,操做數據庫的部分以及讀取配置文件的部分後續補充,代碼持續優化。json

相關文章
相關標籤/搜索