通过三方模块openpyxl,读写Excle的数据封装成一个类 为之后的读取所有数据和写入数据做准备
import openpyxl import os class Case(): """"测试类 ,一个实例一条用例""" def __init__(self): self.case_id = None self.case_name = None self.method = None self.url = None self.datas = None self.excepted = None self.actual = None self.result = None class Do_excel(): """ 第一种存储数据的方法: 1.循环遍历excel,获取到的每一行值赋值给Case类的实例中,存储在名为cases的列表中 2.把所有属性放到一个字典中, 实例.__dict__ 3.和之前把读取到的数据以键值对存在一个列表中的方式一样 4.这种方式是ddt数据驱动中以key来接收数据 """ def __init__(self,filename,sheet_name): self.filename = filename self.sheet_name = sheet_name self.wb = openpyxl.load_workbook(self.filename) self.sheet = self.wb[self.sheet_name] def get_value(self): cases = [] # 列表,存放所有的测试用例 for i in range(2,self.sheet.max_row+1): case = Case() case.case_id = self.sheet.cell(row=i,column=1).value case_name = self.sheet.cell(row=i,column=2).value case.method = self.sheet.cell(row=i,column=3).value case.url = self.sheet.cell(row=i,column=4).value case.datas = self.sheet.cell(row=i,column=5).value case.excepted = self.sheet.cell(row=i,column=6).value case.actual = self.sheet.cell(row=i,column=7).value case.result = self.sheet.cell(row=i,column=8).value cases.append(case) self.wb.close() return cases def write_value(self,row, actual, result): sheet = self.wb[self.sheet_name] sheet.cell(row,7).value = actual sheet.cell(row,8).value = result self.wb.save(self.filename) self.wb.close() if __name__ == '__main__': # a = Do_excel("case.xlsx", 'register') # b = a.get_value() # print(len(b)) # for i in b: # print(i.__dict__) print(os.getcwdb())
封装的requests接口的传