Python + openpyxl 读取测试数据,通过Excel管理我们的测试用例数据
一、首先安装openpyxl。
pip install openpyxl
二、首先我们新建一个Excel文件,写入内容。
三、读取测试用例数据(注意:在使用openpyxl操作Excel文件时,一定要关闭Excel文件哦,否则会报错!)
import openpyxl class ReadExcel(): def __init__(self, file_name, sheet_name): """ 初始化ReadExcel该方法 :param file_name: Excel文件名 :param sheet_name: 指定读取的sheet页 """ self.file_name = file_name self.sheet_name = sheet_name def open_excel(self): """打开指定的Excel文件中的Sheet页""" # 通过.load_workbook方法加载Excel文件 self.wb = openpyxl.load_workbook(filename=self.file_name) # 然后打开指定的sheet页 self.sh = self.wb[‘data‘] def read_excel(self): """ 定义读取Excel指定表单内容数据的方法 :return: """ self.open_excel() # 首先打开Excel中的sheet页 cases = [] # 新建一个空列表,用于存放读取出的数据 titles = [] # 新建一个空列表,用于存放读取到的表头,也就是1,2,3,4,5这一行 # 新建以上这两个空列表呢,为了方便我们把每一行测试数据与表头进行打包 rows = list(self.sh.rows) # 这里是将指定的sheet页中所有存在数据的行全都读取出来,转换成列表类型存放,方便我们进行遍历 # 这里是要将表头(1,2,3,4,5这些),通过遍历的方式,提取出来,存放到空列表 for row in rows[0]: titles.append(row.value) # 将每一个表格的value值,也就是我们需要的数据,添加的空列表中。 # 这里是遍历除了表头一行,剩下的所有行 for row in rows[1:]: data = [] for r in row: # 遍历每一行的每一个表格 data.append(r.value) data_zip = dict(zip(titles, data)) # 然后将每一行读取到的测试数据,和表头进行打包成一个字典的形式存放。 cases.append(data_zip) # 将所有测试数据添加到一个空列表中 return cases if __name__ == ‘__main__‘: cases = ReadExcel(file_name=‘cases.xlsx‘,sheet_name=‘data‘).read_excel() # 获取到所有的测试数据 # 遍历出每一条测试数据 for i in cases: print(i[‘用例编号‘]) # 打印出每一条测试数据,表头是 用例编号 的数据
运行结果:
四、写入测试结果
import openpyxl class ReadExcel(): def __init__(self, file_name, sheet_name): """ 初始化ReadExcel该方法 :param file_name: Excel文件名 :param sheet_name: 指定读取的sheet页 """ self.file_name = file_name self.sheet_name = sheet_name def open_excel(self): """打开指定的Excel文件中的Sheet页""" # 通过.load_workbook方法加载Excel文件 self.wb = openpyxl.load_workbook(filename=self.file_name) # 然后打开指定的sheet页 self.sh = self.wb[‘data‘] def write_excel(self, row, column, value): """ 定义一个写入数据的方法 :param row: 指定写入的行 :param column: 指定写入的列 :param value: 指定写入的数据 :return: """ # 第一步:打开 self.open_excel() # 第二步:写入 self.sh.cell(row=row, column=column, value=value) # 第三步:保存 self.wb.save(self.file_name) if __name__ == ‘__main__‘: ReadExcel(file_name=r‘cases.xlsx‘,sheet_name=‘data‘).write_excel(row=2, column=13, value="测试通过")
运行结果:
相关推荐
up0 2020-06-13
LULUBAO 2020-05-03
dayslrk 2020-08-16
rookieliang 2020-06-15
cas的无名 2020-06-09
星辰大海的路上 2020-03-02
sunny0 2020-03-02
HongKongPython 2020-01-29
zcabcd 2020-01-05
liugan 2019-12-29
jzlixiao 2019-10-28
A宇 2019-09-03
allentony 2019-09-06
socket 2019-09-02
秋草正离离 2019-04-16
zcabcd 2019-07-01
LittleCoder 2019-07-01
kikaylee 2019-06-28