在自动化测试开发中,报告具有最重要的作用之一。测试代码的人可能可以在没有报告的情况下理解测试结果,但对于其他团队成员而言,这可能会很困难。所以测试自动化报告和测试结果的可视化表示对于成功的测试自动化项目至关重要。
在本文中,我将为你介绍一种自动化测试结果报告框架-Allure。
什么是 Allure ?
Allure Framework 是一种灵活的轻量级多语言测试报告工具,不仅可以以简洁的网络报告形式非常简洁地显示已测试的内容,而且还允许参与开发过程的每个人从日常执行中提取最大程度的有用信息。
从开发/质量保证的角度来看,Allure 报告可以缩短常见缺陷的生命周期:可以将测试失败划分为 bug 和损坏的测试,还可以配置日志,步骤,固定装置,附件,时间,历史记录以及与 TMS 的集成以及 Bug 跟踪系统,因此负责任的开发人员和测试人员将掌握所有信息。
从管理人员的角度来看,Allure 提供了一个清晰的“全局”,涵盖了所涵盖的功能,缺陷聚集的位置,执行时间表的外观以及许多其他方便的事情。Allure 的模块化和可扩展性确保你能够自己调整某些东西,以使 Allure 更适合你的需求。
Httprunner 生成 Allure 报告
首先,Allure 可以集成到任何类型的测试项目中,包括集成,API,Web,移动测试等。
对于演示项目,我将使用最近常用的 Httprunner 自动化测试框架, HttpRunner v3.x 集成了 pytest 单元测试框架,可以使用所有 pytest 插件,包括测试报告插件(如pytest-html
和)allure-pytest
。
1、安装
allure-pytest
是 HttpRunner 的可选依赖项,因此,如果要生成 Allure 报告,则应单独安装 allure-pytest
插件。
$ pip3 install "allure-pytest"
或者,你可以安装具有额外 Allure 的 HttpRunner 软件包。
$ pip3 install "httprunner[allure]"
安装完成,可以验证下
$ allure --version
2.8.1
在这里,我用的 Allure 是 2.8.1 版本。在更高的版本中,可能会发现更多更酷的功能,但主要功能与 2.8.1 版本中的功能相同。
2、测试执行时生成结果
要使 Allure 能够在测试执行期间收集结果,只需添加--alluredir
选项,并提供指向存储结果的文件夹路径。如:
$ hrun testcases/demo_test.py --alluredir=reports
reports 文件夹只会存储收集的测试结果(你将会看到一堆莫名其妙的文件,这些都是收集的测试结果),并非完成的报告,还需要通过命令生成。
3、生成 Allure 报告
要在测试完成后查看实际报告,你需要使用 Allure serve 命令从结果中生成报告。
$ allure serve reports
此命令将在默认浏览器中显示你生成的报告。
点击 testcases 可以查看具体的用例执行情况
还有很多功能,大家可以去探索一下~
\