python+pytest,参数化数据测试,读取csv的数据

read_excel()方法读取返回多少列,@pytest.mark.parametrize("username,password", read_excel())引号内就写多少个参数
def read_excel():
    xlsx = openpyxl.load_workbook("D:\pythonProjects\datauser.xlsx")
    sheet1 = xlsx['Sheet1']
    print(sheet1.max_row)  # 行
    print(sheet1.max_column)  # 列
    print('=======================================================')
    allList = []
    for row in range(1, sheet1.max_row + 1):
        rowlist = []
        for column in range(1, sheet1.max_column + 1):
            rowlist.append(sheet1.cell(row, column).value)
        allList.append(rowlist)
        print(allList)
    return allList


# 测试案例必须要以Test开头

class TestAddUser:
    @pytest.mark.parametrize("username,password", read_excel())
    def test_upload(self,username,password):
        print(username,password)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pytest框架本身并不提供专门的数据管理功能,但可以通过使用pytest的fixture功能和其他库来实现web自动测试数据的管理。 一种常见的方法是使用pytest的fixture功能来创建测试数据。fixture是pytest中的一个装饰器,可以在测试用例执行前后执行一些预设的操作,比如创建测试数据。你可以在conftest.py文件中定义fixture,然后在测试用例中使用它。 以下是一个示例,演示了如何使用pytest的fixture来管理web自动测试数据: ```python # conftest.py import pytest @pytest.fixture def login_data(): # 在这里可以编写代码来获取登录所需的测试数据 username = "testuser" password = "testpassword" return username, password @pytest.fixture def search_data(): # 在这里可以编写代码来获取搜索所需的测试数据 keyword = "testkeyword" return keyword ``` ```python # test_web.py def test_login(login_data): username, password = login_data # 在这里编写登录测试用例的代码,使用username和password进行登录操作 def test_search(search_data): keyword = search_data # 在这里编写搜索测试用例的代码,使用keyword进行搜索操作 ``` 在上面的示例中,我们在conftest.py文件中定义了两个fixture:login_data和search_data。这些fixture会在测试用例执行前被调用,并返回相应的测试数据。在test_web.py文件中,我们通过将fixture作为参数传递给测试用例函数来使用这些测试数据。 除了使用pytest的fixture功能外,你还可以结合其他库来管理web自动测试数据。例如,你可以使用Excel或CSV文件来存储测试数据,并使用相应的库(如openpyxl或csv)来读取和处理这些文件。 总结一下,pytest框架本身并不提供专门的数据管理功能,但可以通过使用pytest的fixture功能和其他库来实现web自动测试数据的管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值