Pytest教程__Hook函数pytest_addoption(parser):定义自己的命令行参数(14-1)

文章介绍了如何在pytest框架下,通过conftest.py文件定义钩子函数pytest_addoption来自定义命令行参数,如`--env_opt`和`--run_level`,并使用fixture获取这些参数值,以实现不同测试环境的切换和不同业务逻辑的执行。在测试用例中通过调用fixture函数获取参数,实现动态配置和控制测试流程。

考虑场景:

  1. 我们的自动化用例需要支持在不同测试环境运行,有时候在dev环境运行,有时候在test环境运行;
  2. 有时候需要根据某个参数不同的参数值,执行不同的业务逻辑;

上面的场景我们都可以通过“在命令行中输入参数,然后用例中接收这个参数,通过判断这个参数的值来做不同的逻辑”来实现。那么我们的需求就变为pytest中如何自定义一个命令行参数呢?这时候我们就需要用到pytest的钩子函数:pytest_addoption

在conftest.py文件中定义命令名

新建一个conftest.py文件

然后在conftest.py文件中通过pytest_addoption方法来添加命令行参数,通过定义的fixture来获得参数的值。

import pytest


# pytest_addoption(parser) 定义自己的命令行参数的固定写法
def pytest_addoption(parser):
    # 定义 --env_opt 参数名
    parser.addoption("--env_opt")

    # 定义 --run_level 参数名
    # 参数说明:
    #   default:当命令行不调用参数时的默认值
    #   help:在帮助中显示的说明
    parser.addoption("--run_level", default=1, help="执行用例的级别", action="store")


# 获取--env_opt参数值
@pytest.fixture(scope="session")
def env_opt(request):
    return request.config.getoption("--env_opt"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值