17. Pytest常用插件:allure-pytest生成精美的测试报告(一)
一、前言
对于软件测试工作来说,测试报告是非常重要的工作产出。一个漂亮、清晰、格式规范、内容完整的测试报告,既能最大化我们的测试工作产出,又能够减少开发人员和测试人员的沟通成本。
本篇文章将介绍如何使用开源的测试报告生成框架Allure生成规范、格式统一、美观的测试报告。当然这也有弊端,这种测试报告会增加开发时间,因为你需要给用例增加各种各样的描述信息而增加工作量,如果从编码成本角度的出发,可以考虑pytest-html。
二、学习目标
1.allure-pytest插件安装
2.allure-pytest插件应用
三、知识点
1.allure-pytest插件安装
注:allure
是基于Java
的一个程序,需要Java1.8
的环境,没有安装需要去安装一下。
-
安装allure-pytest插件
pip install allure-pytest
-
安装allure命令工具
Windows 安装 allure-commandline:
-
下载 allure-commandline
https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/ #下载地址,下最新版就可以
-
解压后,将bin目录添加到环境变量
-
验证安装成功
cmd输入:
allure --version
-
2.allure-pytest插件应用
示例代码:
import pytest
def test_success():
"""this test succeeds"""
assert True
def test_failure():
"""this test fails"""
assert False
def test_skip():
"""this test is skipped"""
pytest.skip('for a reason!')
def test_broken():
raise Exception('oops')
-
生成Allure测试报告
-
第一步,生成测试报告数据
在pytest执行测试的时候,指定–alluredir选项及结果数据保存的目录:
pytest test_allure_demo1.py --alluredir ./result/
-
第二步,生成测试报告页面
- 生成离线测试报告
#通过下面的命令将./result/目录下的测试数据生成测试报告页面 allure generate ./result/ -o ./report/ --clean
–clean选项目的是先清空测试报告目录,再生成新的测试报告。
- 生成在线测试报告:
allure serve result #result是报告源文件目录
注:生成在线报告必须以管理员权限运行命令。
-
-
修改报告的LOGO
1.修改配置文件,进入‘E:\allure-2.13.7\config’ 目录,打开 ‘allure.yml’ 文件,在最下面增加一行 ‘- custom-logo-plugin ' , 特别要注意层级关系。
plugins: - junit-xml-plugin - xunit-xml-plugin - trx-plugin - behaviors-plugin - packages-plugin - screen-diff-plugin - xctest-plugin - jira-plugin - xray-plugin - custom-logo-plugin
2.上传logo
进入按照allure路径下D:\App\allure-2.15.0\plugins\custom-logo-plugin\static
3.修改‘styles.css’ 文件 来配置logo,不会的可以参考我的设置。
.side-nav__brand { background: url('login-0.png') no-repeat left center !important; padding-left: 180px !important; margin-left: 10px; }
效果展示: