Pytest----定制自定义命令行参数

简介: Pytest----定制自定义命令行参数

【原文链接】

如:增加一个 --country的命令行参数,通过命令行传入所在的国家

1 在用例根目录下创建conftest.py文件,编写代码如下:

首先 pytest_addoption 函数用来定义命令行的参数
country为自定义的fixture,用来获取从命令行传进来的参数值,这样测试用例中就可以通过加载fixture来获取命令行传入的参数的值了

import pytest

def pytest_addoption(parser):
    parser.addoption("--country", action="store", default="China",
                     help="set country")
@pytest.fixture()
def country(request):
    return request.config.getoption("--country")

2 编写测试用例,如下:

def test_demo(country):
    print("当前所在的国家:",country)
  • 在终端中执行如下命令执行脚本
pytest -s --country=中国

执行结果如下:可以发现自定义命令行参数已经生效了,已经可以正常将命令行的中参数值传入到测试用例中了


G:\redrose2100\src\demo>pytest -s --country=中国
========================================================================== test session starts ===========================================================================
platform win32 -- Python 3.9.5, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: G:\redrose2100\src\demo
plugins: allure-pytest-2.9.43, rerunfailures-10.0
collected 1 item                                                                                                                                                          

test_example.py 当前所在的国家: 中国
.

=========================================================================== 1 passed in 0.02s ============================================================================

G:\redrose2100\src\demo>
目录
相关文章
|
4天前
pytest添加自定义参数
pytest添加自定义参数
52 0
|
9月前
|
测试技术 Python
pytest--命令行常用参数
pytest--命令行常用参数
pytest--命令行常用参数
|
10月前
|
测试技术 Python
27-pytest-命令行参数使用-tb/durations/setup-show
27-pytest-命令行参数使用-tb/durations/setup-show
|
12月前
|
测试技术 C++ Python
pytest 执行规则_基本用法_常用插件_常用断言_常用参数
pytest 执行规则_基本用法_常用插件_常用断言_常用参数
|
测试技术 Python
Pytest----如何执行文本测试
Pytest----如何执行文本测试
100 0
|
测试技术
Pytest----默认用例发现规
Pytest----默认用例发现规
129 0
|
Unix 测试技术 Shell
Pytest----修改Pytest默认的用例发现规则
Pytest----修改Pytest默认的用例发现规则
282 0
|
测试技术
Pytest----pytest.ini自定义测试文件、测试用例、测试类命名规则
Pytest----pytest.ini自定义测试文件、测试用例、测试类命名规则
271 0
Pytest----pytest.ini自定义测试文件、测试用例、测试类命名规则
Pytest----如何使用parametrize参数化
Pytest----如何使用parametrize参数化
117 0
|
测试技术
Pytest----fixture高级应用
Pytest----fixture高级应用
136 0