Excel文件的讀取和寫入

知識點:
1、引入本地.py 文件
2、讀取本地Excel文件
3、將測試結(jié)果寫入Excel文件
前言:在學(xué)習(xí)接口自動化測試的過程中,我發(fā)現(xiàn)公司的很多接口除了傳入的參數(shù)不一樣,很多代碼都是一樣的,為此我先想到的是寫公用的方法,但公用方法public寫好后,我發(fā)現(xiàn)還是有很多重復(fù)代碼,比如,import引入的模塊和assert斷言等,于是我就想能不能用一個Excel裝需要傳遞的參數(shù),然后一個Excel用來接收接口執(zhí)行的結(jié)果,于是就有了這篇博客

# 這個文章是寫的公用方法,很多接口的測試除了參數(shù)不一樣其他的都是一樣的
import requests
import unittest
# 導(dǎo)入本地login_in.py和public.py文件
# login_in.py文件在D:/leawod/web_api/login-controller/
import sys
sys.path.append("D:/leawod/web_api/login-controller/")
import login_in
sys.path.append("D:/leawod/web_api/common/")
import public
# xlre是讀取本地Excel模塊,xlwt是寫入Excel模塊
import xlrd
import xlwt
import openpyxl
from openpyxl import load_workbook
# 打開Excel文件web-parameter.xlsx
data = xlrd.open_workbook("web-parameter.xlsx")
# 通過名稱獲取
table = data.sheet_by_name(u'Sheet1')
# 獲取Excel行數(shù)
nrows = table.nrows
# print(nrows)
for i in range(1, nrows):
    # 輸出第i行的值
    result = table.row_values(i)
    # print(result)
    # result[0]輸出行的第一個列
    interface = result[0]
    #eval()方法,可將字典格式的字符串與字典互換
    body1 = eval(result[1])
    # public.public_fun:是public.py文件下的public_fun函數(shù)
    # public.ip:是public.py文件下的ip變量
    result = public.public_fun(body1, public.ip, interface)

    if '成功' in result:
        print("接口: "+interface+" 測試成功")
    else:
        print("接口: " + interface + " 測試失敗")
        # print("失敗原因:" + result)

        # 如果報錯將報錯的接口和原因?qū)懭胍汛嬖诘膞lsx文件
        wb = load_workbook("worry.xlsx")  # 生成一個已存在的wookbook對象
        wb1 = wb.active  # 激活sheet
        # 打開Excel文件worry.xlsx
        w_data = xlrd.open_workbook("worry.xlsx")
        # 通過名稱獲取
        w_table = w_data.sheet_by_name(u'Sheet1')
        # 獲取Excel行數(shù)
        w_nrows = w_table.nrows
        # print(w_nrows)
        wb1.cell(w_nrows + 1, 1, interface)
        wb1.cell(w_nrows + 1, 2, result)
        w_nrows = w_nrows + 1
        wb.save("worry.xlsx") #保存

運行結(jié)果:

接口: /college/queryPageList 測試成功
接口: /role/queryPageList 測試成功
接口: /knowCategory/queryPageList 測試成功
接口: /knowCategory/queryPageList2 測試失敗
接口: /knowCategory/queryPageList3 測試失敗

Excel接口文檔


image.png

報錯接口輸出文檔


image.png

注意:
1、在執(zhí)行.py文件時需要把用于接收報錯接口的Excel文件worry.xlsx關(guān)閉,不然要報錯


image.png

2、在寫else分支,將報錯原因輸出至worry文件時,我定義的局部變量和全局變量data、table重名了,也導(dǎo)致了報錯,這個在后面的學(xué)習(xí)中還是要注意

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容