pytest解决如何从命令行传入参数

1,在conftest中注册一个命令行的参数

def pytest_addoption(parser):
    parser.addoption(
        "--deviceid", action="store", default="223d5674", help="my option: deviceid"
    )
    parser.addoption(
        "--port", action="store", default="4724", help="my option: port"
    )

2,在fixture中获取命令的参数 使用 request.config.getoption()获取参数

@pytest.fixture(scope='function')
def start_settings(request):
    # 获取手机的deviceid
    deviceid = request.config.getoption("--deviceid")
    port = request.config.getoption("--port")
    print(deviceid)
    yield deviceid   # 返回给测试用例使用

3,使用

pytest -v -s TestCase/SettingTestCase/test_settings_a.py --deviceid=2ac417f0

 

posted @ 2020-09-08 14:31  勇敢面对difficult  阅读(793)  评论(0)    收藏  举报