读取excel文件,使用pytest参数化实现DDT

这是Excel文件的内容
1、首先安装xlrd模块,并导入
2、代码如下:

import pytest
import xlrd

def getData():
    filename = 'data.xlsx'
    wb = xlrd.open_workbook(filename)
    sheet = wb.sheet_by_index(0)
    rows = sheet.nrows
    cols = sheet.ncols
    list1 = []
    for row in range(rows):
        for col in range(cols):
            cellData = sheet.cell_value(row,col)
            list1.append(cellData)
    print(list1)
    return list1
@pytest.mark.parametrize('name',getData())
def test01(name):
    print(name)
if __name__ == '__main__':
    pytest.main(['-sv','test_execl.py'])
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pytest参数化pytest框架提供的一种功能,它允许我们通过在测试函数上使用装饰器来定义参数化测试。参数化测试可以帮助我们简化测试代码,减少重复的测试逻辑,并且可以方便地使用不同的测试数据进行多次测试。 在pytest参数化中,我们可以使用多种方式来定义测试数据,其中一种方式就是使用Excel文件。通过将测试数据存储在Excel文件中,我们可以方便地对测试数据进行管理和维护。 要在pytest使用Excel文件进行参数化,我们可以使用第三方库如`openpyxl`或`pandas`来读取Excel文件,并将读取到的数据传递给测试函数。具体步骤如下: 1. 安装所需的库:在使用Excel文件进行参数化之前,需要先安装`openpyxl`或`pandas`库。可以使用pip命令进行安装,例如:`pip install openpyxl`。 2. 创建Excel文件:在Excel文件中,可以创建一个或多个工作表,每个工作表代表一个参数化的测试场景。在工作表中,可以定义不同的列来表示不同的参数。 3. 读取Excel文件使用`openpyxl`或`pandas`库中的相应函数来读取Excel文件,并获取到需要的测试数据。 4. 参数化测试函数:使用pytest的装饰器`@pytest.mark.parametrize`来标记测试函数,并将读取到的测试数据作为参数传递给测试函数。 下面是一个示例代码,演示了如何使用Excel文件进行参数化: ```python import pytest import openpyxl def read_excel_data(file_path, sheet_name): workbook = openpyxl.load_workbook(file_path) sheet = workbook[sheet_name] data = [] for row in sheet.iter_rows(min_row=2, values_only=True): data.append(row) return data @pytest.mark.parametrize("name, age", read_excel_data("testdata.xlsx", "Sheet1")) def test_user_info(name, age): # 测试逻辑 assert isinstance(name, str) assert isinstance(age, int) ``` 在上述示例中,`read_excel_data`函数用于读取Excel文件中的测试数据。`@pytest.mark.parametrize`装饰器将读取到的测试数据作为参数传递给`test_user_info`测试函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值