python介面自動化學習之路(4)
阿新 • • 發佈:2018-12-21
較上一個版本優化的內容為:
1.迴圈讀取excel裡的case
2.將響應結果寫入一個新的excel
import requests import xlrd import json import xlutils import xlwt import time excelfile=r'/Users/Documents/testCase/介面API.xlsx' #檔案路徑 data=xlrd.open_workbook(excelfile) #獲取excel為物件 table=data.sheet_by_index(0) #指定索引順序獲取工作表 num=table.nrows #獲取總行數 workbook=xlwt.Workbook(encoding='utf-8') #生成新excel worksheet=workbook.add_sheet('testing report',cell_overwrite_ok=True) #建立一個工作表 excelExport='/Users/Documents/testCase/' #指定輸出excel地址 fileName='test_'+time.strftime("%Y%m%d%H%M", time.localtime())+'.xls' #EXCEL名稱 path=excelExport+fileName #拼接地址和名稱 style0 = xlwt.easyxf('font: name Times New Roman, color-index red, bold on', num_format_str='#,##0.00') #設定格式 i=1 while i<num: table_row=table.row_values(i) #獲取行數,從第一行開始 method=table_row[5] url="https://"+table_row[3]+table_row[4] #拼接請求地址 message= json.loads(table_row[2]) #獲取請求引數 headers=json.loads(table_row[7]) #excel表中header值用{}括起來,引數用雙引號,獲取請求頭 requests.packages.urllib3.disable_warnings() if method==("post"or"POST"): response=requests.post(url=url,params=message,headers=headers,verify=False) #post請求介面 else: response = requests.get(url=url, params=message, headers=headers, verify=False) #get請求介面 row=table_row+[response.status_code,response.text,response.url] for a in range(0,len(row)): worksheet.write(i,a, row[a]) #將響應值寫入excel i += 1 workbook.save(path) #儲存excel
下期優化考慮更新excel、將不同業務分裝為不同方法、郵件傳送執行後的excel