栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

4.pytest parametrize()参数化

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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"])

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1012784.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号