前言
pytest在执行用例的时候,当用例报错的时候,如何获取到报错的完整内容呢?
当用例有print()打印的时候,如何获取到打印的内容?
钩子函数pytest_runtest_makereport
测试用例如下,参数化第一个用例成功,第二个失败
import pytest
import time
@pytest.fixture()
def login():
print("login first----------")
@pytest.mark.parametrize(
"user, password",
[
["test1", "123456"],
["test2", "123456"],
]
)
def test_a(login, user, password):
"""用例描述:aaaaaa"""
time.sleep(2)
print("---------打印的内容-------")
print('传入参数 user->{}, password->{}'.format(user, password))
assert user == "test1"
使用钩子函数pytest_runtest_makereport 可以获取用例执行过程中生成的报告
import pytest
@pytest.hookimpl(hookwrapper=True, tryfirst=True