快播:pytest使用@pytest.mark.parametrize()实现参数化的示例代码
来源:脚本之家    时间:2022-07-10 06:03:54


(资料图片仅供参考)

目录
1.方法详情:2.使用方法2.1.一个列表中一个参数多个值2.2.多参数多值2.3.多个参数混合使用2.4.传入字典数据

1.方法详情:

parametrize(argnames,argvalues,indirect=False,ids=None,scope=None)
常用参数:
argnames:参数名
argvalues:参数值(可以为list和tuple,或者字典列表,字典元组等),参数值有N个,用例就会执行N次。

2.使用方法

2.1.一个列表中一个参数多个值

示例代码: 

data_list1 = ["data1", "data2", "data3", "data4"]
@pytest.mark.parametrize("data", data_list1)
def test_01(data):
    print(data)

运行结果:  

2.2.多参数多值

示例代码:

data_list2 = [("zhang1", "123456"), ("zhang2", "654321"), ("zhang3", "456789")]
@pytest.mark.parametrize("username, pwd", data_list2)
def test_02(username, pwd):
    print(username + ":" + pwd)

运行结果:  

2.3.多个参数混合使用

示例代码:

data_list3 = ["zhang", "li"]
data_list4 = ["wang", "liu"]
data_list5 = ["zhao", "qian"]
@pytest.mark.parametrize("a", data_list3)
@pytest.mark.parametrize("b", data_list4)
@pytest.mark.parametrize("c", data_list5)
def test_03(a, b, c):
    print("组合后的结果为", {a}, {b}, {c})

2.4.传入字典数据

示例代码:

dict_data = ({"username": "zhang", "password": "123456"}, {"username": "li", "password": "654321"})
@pytest.mark.parametrize("data", dict_data)
def test_04(data):
    print(data.get("username") + ":" + data.get("password"))
    # print(data["username"] + ":" + data["password"])

运行结果:  

到此这篇关于pytest使用@pytest.mark.parametrize()实现参数化的文章就介绍到这了,更多相关pytest参数化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

关键词: 使用方法 混合使用 相关文章 希望大家

上一篇:

下一篇:

X 关闭

X 关闭