软件测试学习笔记丨Pytest结合数据驱动读取Excel文件

215 阅读1分钟

本文转自测试人社区,原文链接:ceshiren.com/t/topic/300…

pytest结合数据驱动读取Excel文件

  • 第三方库
    xlrd
    xlwings
    pandas
  • openpyxl
    官方文档:openpyxl.readthedocs.io/en/stable/
  • openpyxl库的安装
    安装:pip install openpyxl
    导入:import openpyxl
  • openpyxl 库的操作
    读取工作簿
    读取工作表
    读取单元格
import openpyxl
# 获取工作簿
book = openpyxl.load_workbook('../data/params.xlsx')

# 读取工作表
sheet = book.active

# 读取单个单元格
cell_a1 = sheet['A1']
cell_a3 = sheet.cell(column=1,row=3) #A3

# 读取多个连续单元格
cells = sheet["A1":"C3"]

# 获取单元格的值
cell_a1.value
  • Pytest 数据驱动结合 Excel 文件
#测试my_add方法的测试用例
import openpyxl
import pytest

from func.operation import my_add

# 用到excel文件中的数据时,就需要读取出来
def get_excel():
    # 获取工作薄
    book = openpyxl.load_workbook('../data/params.xlsx')
    # 获取活动行(非空白的)
    sheet = book.active

    #提取数据,格式:[[1,2,3],[3,6,9],[100,200,300]]
    values = []
    for row in sheet: #遍历行
        line = []
        for cell in row: #遍历列
            line.append(cell.value)
        values.append(line)
    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)

获取更多软件测试知识

微信图片_20240311143556.png