Pytest切换测试环境:使用hooks函数、pytest-base-url插件
- 1.使用hooks函数
- 2.使用pytest-base-url插件
- 安装
- pytest-base-url使用
1.使用hooks函数
# conftest.py
#Initialization hooks 初始化钩子: 添加自定义命令行选项
def pytest_addoption(parser):
parser.addoption(
"--env",
action="store",
default="test",
choices=["dev", "test", "pre", "prod"],
help="指定测试环境",
)
# 环境变量fixture
@pytest.fixture(scope="session")
def env(request):
env = request.config.getoption("--env")
return read_cfg()["Url"][env] # 注:读取配置文件中的环境变量,该方法的代码略过
# 打开页面fixture
@pytest.fixture(scope="session", autouse=True)
def open_page(page, env):
page.goto(env)
2.使用pytest-base-url插件
安装
pip install pytest-base-url
pytest-base-url使用
有以下两种方式:
# conftest.py
@pytest.fixture(scope="session", autouse=True)
def open_page(page, base_url):
page.goto(base_url)
- pytest命令行执行
pytest --base-url=https://blog.csdn.net/weixin_48321392/article/details/137951774
- pytest.ini文件指定base_url