简介:
python 主流自动化测试报告插件有三个: htmlTestRunner,BeautifulReport 和 Allure.HTMLTestRunner 是一个比较古老的报告模板, 界面也不是很好看. BeautifulReport 界面很简洁, 看起来也很直观, 是一款比较不错的报告插件. 如果你想提升一下你的 level, 让你的自动化测试报告变得高大上, 那么请选择 Allure .
Allure 测试报告介绍
Allure 是一款非常轻量级并且非常灵活的开源测试报告生成框架. 它支持绝大多数测试框架, 例如 TestNG,Pytest,JUint 等. 它简单易用, 易于集成.
Pytest 框架集成 Allure
Pytest 是 Python 的单元测试框架, 非常方便和易用. 强烈推荐对于用 Python 进行测试工作的小伙伴使用这个测试框架, 相比与 Python 自带的 UnitTest 好用太多太多. 后面我将用一整篇文章介绍 Pytest 测试框架. 今天我们主要是介绍如何将测试报告生成工具 Allure 集成到 Pytest 中.
1.Allure 下载安装
Allure 下载最新版本:
下载完成之后, 解压到 pytest 目录中. 然后设置环境变量, 简单一点就是进入 \allure-2.13.0\bin 目录执行 allure.bat .cmd 输入 allure 查看环境变量是否设置成功.
2. allure-pytest
下载 allure-pytest 插件, 用来生成 Allure 测试报告所需要的数据.
pip3 install allure-pytest
案例
- #!/usr/bin/env python
- # coding=utf-8
- import pytest
- import allure
- import os
- @pytest.fixture(scope='function')
- def login():
- print("登录")
- yield
- print("登录完成")
- @allure.feature('加入购物车')
- def test_1(login):
- '''将苹果加入购物车'''
- print("测试用例 1")
- @allure.feature('加入购物车')
- def test_2():
- '''将橘子加入购物车'''
- print("测试用例 2")
- if __name__ =="__main__":
- # 执行 pytest 单元测试, 生成 Allure 报告需要的数据存在 /temp 目录
- pytest.main(['--alluredir', './temp'])
- # 执行命令 allure generate ./temp -o ./report --clean , 生成测试报告
- os.system('allure generate ./temp -o ./report --clean')
@allure 装饰器中的一些功能点:
@allure.feature : 用于定义被测试的功能, 被测产品的需求点
@allure.story : 用于定义被测功能的用户场景, 即子功能点
@allure.step : 用于将一个测试用例, 分成几个步骤在报告中输出
allure.attach : 用于向测试报告中输入一些附加的信息, 通常是一些测试数据信息
3, 生成 Allure 测试报告
3.1 执行测试脚本
测试脚本中添加了 Allure 特性之后, 在执行测试的时候需要先生成 Allure 报告所需要的测试结果数据. 在 py.test 执行测试的时候, 指定 - alluredir 选项及测试数据保存的目录即可:
$ py.test test/ --alluredir ./result/
./result / 中保存了本次测试的结果数据. 另外, 还可以执行指定 features 或者 stories 执行一部分测试用例, 比如执行'购物车功能'下的'加入购物车'子功能的测试用例:
$ py.test test/ --allure_features='购物车功能' --allure_stories='加入购物车'
运行完成后会在指定目录下生产 xml 报告
3.2 生成测试报告
安装完成后, 通过下面的命令将./result / 目录下的测试数据生成测试报告:
$ allure generate ./result/ -o ./report/ --clean
这样在./report / 目录下就生成了 Allure 的测试报告了.-clean 目的是先清空测试报告目录, 再生成新的测试报告.
3.3 打开测试报告
来源: http://www.bubuko.com/infodetail-3329579.html