• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

搭建Pytest+Allure2.X环境,生成让你一见钟情的测试报告 - 01非常详细

武飞扬头像
潇潇说测试
帮助1

简介

 潇潇之前在做接口自动化的时候,用的测试报告是HTMLTestRunner,虽说自定义模板后能满足基本诉求,但是仍显得不够档次,高端,大气,遂想用其他优秀的report框架替换之。一次偶然的机会,在一个QQ群里看到Allure的测试报告,真的是一见钟情,特别的喜欢。但是由于时间的原因就没有自己实践一下,乘着国庆假期,自己特抽时间做了一番探索。

Allure介绍

Allure是一种灵活的轻量级多语言测试报告工具,它不仅可以以简洁的Web报告形式非常简洁地显示已测试的内容,而且还允许参与开发过程的每个人从日常执行中提取最大程度的有用信息。

从开发/质量保证的角度来看,Allure报告可以缩短常见缺陷的生命周期:可以将测试失败划分为bug和残破的测试,还可以配置日志,步骤,固定装置,附件,时间,历史记录以及与TMS的集成以及Bug跟踪系统,因此负责任的开发人员和测试人员将掌握所有信息。

从管理者的角度来看,Allure提供了一个清晰的“全局”,涵盖了所涵盖的功能,缺陷聚集的位置,执行时间表的外观以及许多其他方便的事情。魅力的模块化和可扩展性确保您始终可以微调某些东西,以使魅力更适合您。

一睹Allure风采

在展开Allure详述前,先上一份测试报告,报告主要包含总览、类别、测试套件、图表、时间刻度、功能、包等7大部分,支持自定义诸多信息,包括附件添加、缺陷链接、案例链接、测试步骤、Epic、Feature、Story、Title、案例级别等,相当强大。

总览

 类别

1. pytest的安装:(这里着重介绍Windows)

pytestpython的一个第三方单元测试框架,在这里用于生成原始的执行结果。

一定别选最新的,4.0.2亲测可用,否则会跳到坑二;还有项目名千万别以pytest开头

1.1. windows下:

pip install pytest

学新通

出现如下图所示,pytest安装成功

学新通

 1.2. linux下:

pip install pytest

2. 安装pytest-allure-adaptor插件

据了解,安装pytest-allure-adaptor。这个第三方库已经过时了,无法和现有的pytest搭配使用。我这个先安装后期遇到问题再去处理。

最新的安装需要下面这个:

allure-pytest是python的一个第三方库。用于连接pytest和allure,使它们可以配合在一起使用。
allure-pytest基于pytest的原始执行结果生成适用于allure的json格式结果。该json格式结果可以用于后续适用allure生成html结果。

2.1. windows下:

pip install pytest-allure-adaptor

学新通

出现如下图所示,pytest-allure-adaptor安装成功

学新通

3. allure的安装:

3.1. windows下:

前情提示: allure是基于Java的一个程序,需要Java1.8 的环境,没有安装需要去安装一下。

学新通

Windows下不能直接安装,点击此链接下载压缩包

或者到这个网址:Releases · allure-framework/allure2 · GitHub  、Service End for Bintray, JCenter, GoCenter, and ChartCenter | JFrog下载你需要的版本的安装包

下载之后,将压缩包解压到一个磁盘中,我这里用的是D盘

3.2. 配置allure的环境变量

点击确定,保存。这样就可以通过CMD使用allure命令

3.3. 编写测试文件

pycharm新建一个test_demo.py文件,代码如下:

  1.  
    # coding=utf-8
  2.  
    # 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
  3.  
     
  4.  
    # 2.注释:包括记录创建时间,创建人,项目名称。
  5.  
    '''
  6.  
    Created on 2019-9-29
  7.  
    @author: 潇潇说测试
  8.  
    Project:手把手教你搭建Pytest Allure2.X环境详细教程,生成让你一见钟情的测试报告(非常详细,非常实用)
  9.  
    '''
  10.  
    # 3.导入模块
  11.  
    import allure
  12.  
     
  13.  
     
  14.  
    # @allure.MASTER_HELPER.feature("测试Dome")
  15.  
    @allure.feature("测试Demo")
  16.  
    class TestDome(object):
  17.  
     
  18.  
    #@@allure.MASTER_HELPER.step("定义被测函数")
  19.  
    @allure.step("定义被测函数")
  20.  
    def func(self, x):
  21.  
    return x 1
  22.  
     
  23.  
    #@allure.MASTER_HELPER.story("被测场景")
  24.  
    @allure.story("被测场景")
  25.  
    #@allure.MASTER_HELPER.severity("blocker")
  26.  
    @allure.severity("blocker")
  27.  
    #@allure.MASTER_HELPER.step("断言结果")
  28.  
    @allure.step("断言结果")
  29.  
    def test_func(self):
  30.  
    # with allure.MASTER_HELPER.step("断言结果"):
  31.  
    #allure.MASTER_HELPER.attach("预期结果", "{}".format(self.func(3)))
  32.  
    allure.attach("预期结果", "{}".format(self.func(3)))
  33.  
    #allure.MASTER_HELPER.attach("实际结果", "{}".format(5))
  34.  
    allure.attach("实际结果", "{}".format(5))
  35.  
    assert self.func(3) == 5
学新通

3.4. 生成测试报告

pycharm中打开terminal

运行后,无上述错误,同时会生成一个report文件。其中会有一个json格式的报告:

回到根目录下,会生成一个allure-report的文件夹,在pycharm中打开文件夹,点击index.html运行

ok,到此为止。可以看到我们的精美的测试报告了

注⚠️:直接用chrome浏览器打开报告,报告可能会是空白页面。
解决办法:
1、在pycharm中右击index.html选择打开方式Open in Browser就可以了。
2、使用Chrome直接打开index.html。

学新通

小结

1.安装pytest-allure-adaptor后,运行报错:AttributeError: module 'pytest' has no attribute 'allure'

学新通

原因:因为pytest-allure-adaptor库基本被python3放弃了,运行很不友好,反正我运行就是报错

解决方法:

先卸载:pip uninstall pytest-allure-adaptor

学新通

再安装:pip install allure-pytest

学新通

然后再去对应case的文件夹下面cmd里面运行: pytest -s -q --alluredir  report  (可以改为你想设的路径,如果是report默认当前目录下),就会生成report文件夹了

2.输入命令pytest -s --alluredir=report,会遇到以下这个错误:

学新通

进入allure下面的utils文件,修改以下代码:

  1.  
    # utils文件,可以通过from allure import utlis进入
  2.  
     
  3.  
    for suitable_name in suitable_names:
  4.  
    # markers.append(item.get_marker(suitable_name))
  5.  
    markers.append(item.get_closest_marker(suitable_name))

学新通


              【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

学新通二、接口自动化项目实战

学新通

三、Web自动化项目实战

学新通
四、App自动化项目实战

学新通

五、一线大厂简历

学新通
六、测试开发DevOps体系

学新通

七、常用自动化测试工具

学新通
八、JMeter性能测试

学新通

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

                               学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggbeie
系列文章
更多 icon
同类精品
更多 icon
继续加载