分享

python文档24-使用多个fixture和fixture互相调用

 上海悠悠 2021-05-27

前言

一个用例是可以传多个fixture参数的,如果fixture之间用依赖关系,也可以互相调用。

使用多个fixture

如果用例需要用到多个fixture的返回数据,fixture也可以return一个元组、list或字典,然后从里面取出对应数据。

# test_fixture4.py import pytest @pytest.fixture() def user():    print("获取用户名")    a = "yoyo"    b = "123456"    return (a, b) def test_1(user):    u = user[0]    p = user[1]    print("测试账号:%s, 密码:%s" % (u, p))    assert u == "yoyo" if __name__ == "__main__":    pytest.main(["-s", "test_fixture4.py"])

当然也可以分开定义成多个fixture,然后test_用例传多个fixture参数

# test_fixture5.py import pytest @pytest.fixture() def user():    print("获取用户名")    a = "yoyo"    return a @pytest.fixture() def psw():    print("获取密码")    b = "123456"    return b def test_1(user, psw):    '''传多个fixture'''    print("测试账号:%s, 密码:%s" % (user, psw))    assert user == "yoyo" if __name__ == "__main__":    pytest.main(["-s", "test_fixture5.py"])

fixture与fixture互相调用

fixture与fixture直接也能互相调用的

import pytest @pytest.fixture() def first():    print("获取用户名")    a = "yoyo"    return a @pytest.fixture() def sencond(first):    '''psw调用user fixture'''    a = first    b = "123456"    return (a, b) def test_1(sencond):    '''用例传fixture'''    print("测试账号:%s, 密码:%s" % (sencond[0], sencond[1]))    assert sencond[0] == "yoyo" if __name__ == "__main__":    pytest.main(["-s", "test_fixture6.py"])

——pytest结合selenium自动化完整版————

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多