Pytest是一个流行的Python测试框架,可以用于编写和运行各种类型的测试。Allure是一个开源的测试报告框架,可以生成漂亮的HTML图形化测试报告。以下是详解用Pytest+Allure生成漂亮的HTML图形化测试报告的完整攻略,包含两个示例。
示例1:使用Pytest+Allure生成测试报告
以下是一个示例,可以使用Pytest+Allure生成测试报告:
- 安装pytest和allure-pytest
pip install pytest
pip install allure-pytest
- 编写测试用例
# test_example.py
import pytest
def test_addition():
assert 1 + 1 == 2
def test_subtraction():
assert 5 - 3 == 2
def test_multiplication():
assert 2 * 2 == 4
def test_division():
assert 10 / 2 == 5
在上面的示例中,我们定义了四个测试用例,分别测试加法、减法、乘法和除法。
- 运行测试用例并生成测试报告
pytest --alluredir=./report
在上面的示例中,我们使用pytest命令运行测试用例,并使用--alluredir选项指定测试报告的输出目录。
- 生成HTML测试报告
allure serve ./report
在上面的示例中,我们使用allure serve命令生成HTML测试报告,并在浏览器中查看测试报告。
示例2:使用Pytest+Allure生成带附件的测试报告
以下是一个示例,可以使用Pytest+Allure生成带附件的测试报告:
- 安装pytest和allure-pytest
pip install pytest
pip install allure-pytest
- 编写测试用例
# test_example.py
import pytest
def test_addition():
assert 1 + 1 == 2
def test_subtraction():
assert 5 - 3 == 2
def test_multiplication():
assert 2 * 2 == 4
def test_division():
assert 10 / 2 == 5
@pytest.fixture(scope='function')
def attachment(request):
with open('test.txt', 'w') as f:
f.write('This is a test attachment.')
yield
request.node.allure_report.add_attachment(
name='test.txt',
body=open('test.txt', 'rb').read(),
attachment_type=allure.attachment_type.TEXT
)
在上面的示例中,我们定义了四个测试用例,分别测试加法、减法、乘法和除法。我们还定义了一个fixture,用于生成一个附件。
- 运行测试用例并生成测试报告
pytest --alluredir=./report
在上面的示例中,我们使用pytest命令运行测试用例,并使用--alluredir选项指定测试报告的输出目录。
- 生成HTML测试报告
allure serve ./report
在上面的示例中,我们使用allure serve命令生成HTML测试报告,并在浏览器中查看测试报告。测试报告中包含一个名为test.txt的附件。
总结
Pytest是一个流行的Python测试框架,可以用于编写和运行各种类型的测试。Allure是一个开源的测试报告框架,可以生成漂亮的HTML图形化测试报告。使用Pytest+Allure可以轻松地生成漂亮的HTML测试报告,并在测试报告中包含附件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解用Pytest+Allure生成漂亮的HTML图形化测试报告 - Python技术站