0

我正在尝试编辑默认的 pytest-html 报告并想要更新环境表。

我需要在环境表中添加浏览器、应用程序 URL 和其他变量的行并删除一些默认行。

我曾经在环境表中添加额外的变量

@pytest.fixture(autouse=True, scope='session')
def _environment(request):
    request.config._metadata['URL']=os.environ['url']

但是,当我添加多个元数据变量时,它会引发错误

@pytest.fixture(autouse=True, scope='session')
def _environment(request):
    request.config._metadata['URL']=os.environ['url']
    request.config._metadata['Browser']=os.environ['browser']

谁能帮我实现它

4

2 回答 2

0

从 pytest v6.xx 开始,这不再有效,内置夹具称为 pytestconfig:

def test01_just_a_test(pytestconfig):
    pytestconfig._metadata['URL'] = os.environ['url']
    pytestconfig._metadata['Browser'] = os.environ['browser']

但是文档没有更新。

于 2020-10-16T09:53:41.290 回答
0

根据docs,可以通过 pytest_configure 挂钩访问 Environment 部分。以下适用于 pytest 4.4.0

def pytest_configure(config):
    config._metadata['URL'] = os.environ['url']
    config._metadata['Browser'] = os.environ['browser']
于 2019-04-01T18:20:15.637 回答