python怎么使用excel管理用例_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="测试通过")

运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值