如:增加一个 --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>