Allure+pytest生成测试报告

发表于:2021-11-12 09:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:快乐鸭    来源:博客园

  简介:
  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 下载最新版本:https://github.com/allure-framework/allure2/releases
  下载完成之后,解压到 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 打开测试报告

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号