根据命令行参数修改测试名称

Modify test names based on command line parameters

我正在使用 pytest 运行 appium 测试 python-appium。

我运行在不同的设备上进行测试,我使用命令行参数通过pytest_addoptionselect设备。

我通过--junitxml输出测试结果。然后我在jenkins收集测试结果。

如果测试名称以平台名称为前缀,那将非常有用。

如何在 py.test 中完成?

修改测试名称的一种简单方法是向夹具添加参数。

所以现在我这样做了:

@pytest.fixture(scope="session", params= pytest.devices)
def env():
    ...

在我的 conftest.py:

def pytest_addoption(parser):
    parser.addoption("--device", action="store",
        help="the device to use")

def pytest_configure(config):
    pytest.devices = [config.getoption('--device')]