自动化测试之数据驱动 - 读取数据封装方法

 class ReadExcel(object):

     def __init__(self,file_name, sheet_name):

         """

         :param file_name: 文件名字

         :param sheet_name: 表单名字

         """

         self.file_name = file_name

         self.sheet_name = sheet_name


     def open_file(self):

         self.workbook = openpyxl.load_workbook(self.file_name) # 打开工作簿

         self.sheet = self.workbook[self.sheet_name] # 获取表单名


     def readData(self):

         # 调用打开文件的方法

         self.open_file()


         cases = [] # 定义空列表,存放测试用例的数据

         # rows为按行获取到的数据,以列表形式展示

         rows = list(self.sheet.rows) # 转换成列表形式

         # 获取表头:键

         titles = [] # 测试数据标题

         for row in rows[0]:

             titles.append(row.value)

         # 获取数据:值

         for row in rows[1:]:

             datas=[]

             for i in row:

                 datas.append(i.value)

             cases.append(dict(zip(titles,datas))) # 打包成字典形式

         return cases

     # 写入数据的方法

     def writeData(self, row, column, value):

         """

         :param row: 写入的行

         :param column: 写入的类

         :param value: 写入的内容

         :return:

         """

         # 打开文件

         self.open_file()

         # 安装传入的行和列写入内容

         self.sheet.cell(row=row, column=column, value=value)

         # 保存工作簿

         self.workbook.save(self.file_name)

你可能感兴趣的:(自动化测试之数据驱动 - 读取数据封装方法)