4.pytest parametrize()参数化

pytest参数化

pytest.mark.parametrize()方式进行参数化

pytest.fixture()方式进行参数化,fixture装饰的函数可以作为参数传入其他函数

conftest.py 文件中存放参数化函数,可作用于模块内的所有

测试用例

支持元组,列表

支持列表嵌套列表,列表嵌套元组,列表嵌套字典

支持类和函数的参数化

一,@pytest.mark.parametrize('参数名',list)方式

pytest.mark.parametrize(argnames, argvalues),是pytest自带的装饰器之一

1. 传一个参数 @pytest.mark.parametrize('参数名',list)

2. 传两个参数@pytest.mark.parametrize('参数名1,参数名2',[(参数1_data[0], 参数2_data[0]),(参数1_data[1], 参数2_data[1])]) 进行参数化,参数值,是list,多组数据用元组类型; 传三个或更多参数也是这样传。list的每个元素都是一个元组,元组里的每个元素和按参数顺序一一对应

1、单个变量 ,参数为元组

1、单个变量

    @pytest.mark.parametrize('user', ("zhangsan", "lisi"))
    def test_01(self,user):
        print(user)

2、单个变量,参数为列表 

2、单个变量,参数为列表

    datatest04=['zhangsan','lisi']
    @pytest.mark.parametrize('user', datatest04)
    def test_04(self,user):
        print(user)

3、多个变量,列表中嵌套元组。列表中,每一组数据用元组格式

3、多个变量

    @pytest.mark.parametrize('user,password',[("zhangsan","111111"),("lisi","222222")])
    def test_02(self,user,password):
        print(user,password)

4、多个变量,列表中嵌套列表。列表中,每一组数据用列表格式

  data =[["zhangsan","111111111"],["lisi","2222222"]]
    @pytest.mark.parametrize('user,password',data)
    def test_05(self,user,password):
        print(user,password)

5.组合函数-笛卡尔集

组合函数-笛卡尔集

    data1 =["zhangsan","lisi"]
    data2 = ["1111111", "2222222"]
    @ pytest.mark.parametrize('user', data1)
    @pytest.mark.parametrize('password',data2)
    def test_06(self,user,password):
        print(user,password)

6.列表嵌套字典

 datatest07 = [{"user":"zhangsan", "password":"111111111"},{"user":"lisi","password":"222222"}]
    @pytest.mark.parametrize("data", datatest07)
    def test_07(self,data):
        print(data)
        print(data["user"],data["password"])

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值