1. 程式人生 > >python介面自動化學習之路(4)

python介面自動化學習之路(4)

較上一個版本優化的內容為:

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