pytest的conftest使用

Posted aiyumo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest的conftest使用相关的知识,希望对你有一定的参考价值。

项目test下的目录结构

 技术图片

全局conftest.py

import pytest
# 当autouse=False时,测试用例需要传入参数,为True时,不需要传入参数
@pytest.fixture(scope="session",autouse=True)
def start():
    print(
打开首页)
    # flag = 1
    # yield flag
    # print(‘退出登录‘)

suite1/conftest.py

import pytest
# 当autouse=False时,测试用例需要传入参数,为True时,不需要传入参数
@pytest.fixture(scope="module")
def open_web1():
    print(
打开页面1)

suite1/test_1.py

import pytest
def test_03(start,open_web1):
    print(测试用例3操作)
def test_04(start,open_web1):
    print(测试用例4操作)

if __name__ == "__main__":
    pytest.main(["-s", "test_1.py"])

suite1/test_2.py

import pytest
def test_05(start,open_web1):
    print(测试用例5操作)
def test_06(start,open_web1):
    print(测试用例6操作)

if __name__ == "__main__":
    pytest.main(["-s", "test_2.py"])

suite2/conftest.py

import pytest
# 当autouse=False时,测试用例需要传入参数,为True时,不需要传入参数
@pytest.fixture(scope="function")
def open_web2():
    print(
打开页面2)

suite2/test_3.py

import pytest
def test_07(start,open_web2):
    print(测试用例7操作)
def test_08(start,open_web2):
    print(测试用例8操作)

if __name__ == __main__:
    pytest.main(["-s", "test_3.py"])

suite2/test_4.py

import pytest
def test_09(start,open_web2):
    print(测试用例9操作)
def test_10(start,open_web2):
    print(测试用例10操作)
if __name__ == __main__:
    pytest.main(["-s", "test_4.py"])

执行测试

技术图片

 

 技术图片

 

以上是关于pytest的conftest使用的主要内容,如果未能解决你的问题,请参考以下文章

Pytest fixture及conftest详解

(二十五)pytest中conftest使用

pytest学习和使用9-fixture中conftest.py如何使用?

通过conftest.py 和pytest.fixture()集合使用 实现全局的前置应用

pytest当中conftest.py的使用

pytest文档2--firture之conftest.py