首页 > 其他 > 详细

pytest_addoption : 命令行参数

时间:2021-09-15 23:55:25      阅读:8      评论:0      收藏:0      [点我收藏+]

场景
1.一般公司测试环境都有多套,测试的时候我们需要在不同的环境下进行
2.在自动化执行时,在不同的环境下我们要指定不同的系统配置,每次修改框架代码配置这个很不自动化
3.pytest_addoption注册参数 这个就很好的解决了这个问题,它能在执行命令的时候传递参数

基本用法

#conftest.py
# 注册自定义参数num到配置对象
def pytest_addoption(parser):
    parser.addoption(
        "--num_1", action="store", default=‘0‘, help="my option: 说明"
    )
    parser.addoption(
        "--num_2", action="store", default=‘0‘, help="my option: 说明"
    )


# 从配置对象获取值
@pytest.fixture(scope=‘session‘, autouse=True)
def num_1(request):
    return request.config.getoption("--num_1")


@pytest.fixture(scope=‘session‘, autouse=True)
def num_2(request):
    return request.config.getoption("--num_2")

#test_02.py
def test_run(num_1, num_2):
    print(num_1)
    print(num_2)

#不带参数运行
test_02.py::test_run PASSED                                              num_1:  0
num_2:  0
=== 1 passed in 0.05s 

#带参数运行:pytest -s -v test_02.py --num_1=11 --num_2=22
test_02.py::test_run 
num_1:  11
num_2:  22
PASSED
=== 1 passed in 0.06s

参数含义
name:自定义命令行参数的名字,可以是:"foo", "-foo" 或 "--foo";
action:在命令行中遇到此参数时要采取的基本操作类型;
nargs:应该使用的命令行参数的数量;
const:某些操作和nargs选择所需的常量值;
default:如果参数不在命令行中,则生成的默认值。
type:命令行参数应该转换为的类型;
choices:参数允许值的容器;
help:对参数作用的简要说明;

pytest_addoption : 命令行参数

原文:https://www.cnblogs.com/Bruin/p/15266678.html

(0)
(0)
   
举报
评论 一句话评论(0
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!