Pytest 结合数据驱动-excel

官方文档
https://openpyxl.readthedocs.io/en/stable/
案例:
从excel文件中取值判断是否第一二行的值之和等于第三行的值
1.创建对应目录,准备好对应excel文件

2.创建operation.py
def my_add(x,y):
result = x + y
return result
3.创建test_add.py
关键代码:get_excel()
import openpyxl
import pytest
from func.operation import my_add
def get_excel():
"""
:return: 需要返回格式[[1,1,2],[3,6,9]]
"""
#获取工作簿和工作表
book = openpyxl.load_workbook("../data/params.xlsx")
sheet = book.active
#读取数据
cells = sheet["A1":"C3"]
print(cells)
values= []
#逐行取出数据,并将每行数据添加到values
for row in cells:
data = []
for cell in row:
data.append(cell.value)
values.append(data)
print(values)
return values
class TestWithEXCEL:
@pytest.mark.parametrize('x,y,expected', get_excel())
def test_add(self, x, y, expected):
assert my_add(int(x), int(y)) == int(expected)

浙公网安备 33010602011771号