4.多环境支持 - Be5yond/pytest_demo GitHub Wiki

多环境支持

对于不同环境的配置信息不一致,将各个环境的配置存储到配置文件,利用pytest提供的hook,运行时指定执行环境加载不同的配置执行测试。

执行测试时指定测试环境 pytest cases --env test

如本demo中环境配置信息存储在config.ini文件

env的hook代码见/cases/conftest.py

def pytest_addoption(parser):
    parser.addoption(
        "--env",
        action="store",
        default="test",
        help="environment: (test|online|preonline) default is test"

fixture中查找当前执行的环境,使用对应数据执行测试即可

@pytest.fixture(scope='class')
def user(request):
    """
    .....
    """
    env = request.config.getoption("--env")
    .....