Python操作Excel,並結合unittest單元測試框架


第一步:寫Excel操作方法

excel_operate.py文件
from openpyxl import load_workbook  #引入模塊

class MyExcel: def __init__(self,filepath,sheetname):  # 初始化函數在實例化對象時調用
        self.wb = load_workbook(filepath) self.sh = self.wb[sheetname] # 讀取指定單元格的數據
    def read_data(self,row,column): return self.sh.cell(row,column).value # 讀取所有數據
    def read_alldate(self): for index in range(1,self.sh.max_row+1): print('行號:',index) for i in range(1,self.sh.max_column+1): print('列號:',i,'內容:',self.sh.cell(row=index,column=1).value) # 寫入數據
    def write_data(self,row,column,content): self.sh.cell(row,column).value = content # 保存數據
    def save_data(self,filepath): self.wb.save(filepath) # excel = MyExcel('testdata.xlsx','Sheet1') # print(excel.read_data(2,1)) # # excel.write_data(4,1,'12345678936') # excel.write_data(4,2,'a1234567') # excel.save_data('testdata.xlsx')

第二步:寫測試用例

test_excel_operate.py文件
import unittest from excel_operate import MyExcel class TestExcel(unittest.TestCase): @classmethod def setUpClass(cls): cls.excel = MyExcel('testdata.xlsx','Sheet1') # 測試用例 讀
    def test_read_data(self): pass

    # 測試用例 寫
    def test_write_data(self): # 調用自己的寫方法
        self.excel.write_data(5, 1, '12345678937') self.excel.write_data(5, 2, 'a1234567') self.excel.save_data('testdata.xlsx')

第三步:執行測試用例,生成HTML報告

TestSuite_Excel.py文件
import unittest from HTMLTestRunnerNew import HTMLTestRunner from test_excel_operate import TestExcel import time import os if __name__ == '__main__': s = unittest.TestSuite() s.addTests(unittest.TestLoader().loadTestsFromTestCase(TestExcel)) now = time.strftime('%Y%m%d_%H%M%S') filename = open(os.getcwd() + '/ExcelUnittestReport_' + now + '.html','wb') runner = HTMLTestRunner( stream = filename, title = 'Excel單元測試報告', description = 'Excel單元測試報告', tester = 'lixiaozhe' ) runner.run(s)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM