Allure是一个轻量级、灵活、支持多语言平台的report框架,不仅能生成好看易读的测试报告,还能针对的特别需求生成high level的测试统计报告,本文主要介绍Python语言和Allure结合Pytest测试框架生成测试报告的一些基本语法和用法。
Allure官方文档请参考:https://docs.qameta.io/allure/
本文以Windows环境作示例。
安装
- 首先,电脑里当然要已经配置好了Python,IDE(比如我的是Pycharm),pytest插件,环境变量等满足自动化测试的一些工具。
- 然后,去到GitHub下载zip文件到本地:Allure-release
注意一定要在这个页面上滑动到简介的底部选择适合自己电脑环境的包来下载哦~
- 接下来把该文件解压缩,并把解压缩后的文件夹放到一个你绝对不会删掉的位置,同时去到该文件夹中的bin目录下,把bin目录的路径放到系统环境变量PATH中,然后运行bin目录下的allure.bat文件。
- 最后,Win+R打开命令行,执行以下命令安装allure-pytest插件。
或者,直接在pycharm中安装allure-pytest也可。
pip install allure-pytest
如此,allure的环境就准备好了。
基本使用语法
- 在执行测试用例的时候监听并收集测试结果,直接在执行命令后加一个“–alluredir=存放测试结果的路径”的参数即可:
pytest --alluredir = /tmp/my_allure_results
#/tmp/my_allure_results即你要存放测试结果的路径
- 当测试用例执行完毕,测试结果已经收集完毕,这时就可以启动服务来生存你的测试报告了,命令执行成功后会在你的默认浏览器中打开测试报告
allure serve /tmp/my_allure_results
#/tmp/my_allure_results即上一步存放的测试结果的路径
初步尝试
OK,环境和语法都掌握了,现在来做个简单的尝试,代码就参考allure官方文档里给的示例。
初体验
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')
新建一个python文件,然后在命令行中到该文件所在的路径下,执行测试文件,比如我的python文件命名为Test_BlogAllure.py
pytest Test_BlogAllure