Pytest系列——allure(原理)之allure工具与Pytest测试框架集成

官方介绍

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

2、从开发/质量保证的角度来看,Allure报告可以缩短常见缺陷的生命周期:可以将测试失败划分为bug和损坏的测试,还可以配置log,step,fixture,attachments,timings,历史记录以及与TMS的集成以及Bug跟踪系统,因此负责任的开发人员和测试人员将掌握所有信息。

3、从管理人员的角度来看,Allure提供了一个清晰的“全局”,涵盖了已涵盖的功能,缺陷聚集的位置,执行时间表的外观以及许多其他方便的事情。

4、Allure的模块化和可扩展性确保您始终能够微调某些东西,以使Allure更适合您。

5、在当前市面上所有第三方或者自研的测试报告系统中,Allure 是最全面,且支持的测试框架最多的一个测试报告系统。它是开源的测试报告框架,它旨在创建让团队每一个人都清楚明了的测试报告。

Allure 报告之所以受到开发、测试,甚至管理人员的推崇,是因为它有如下明显的特点:

1、从开发/质量保证的角度看,Allure 报告可以缩短常见缺陷的生命周期。

2、可以将测试失败划分为 bug 和损坏的(Broken)测试,还可以配置日志、步骤、固定装置、附件、时间、历史记录,以及与 TMS 的集成和 Bug 跟踪系统,方便将 Task 与负责 Task 开发人员和测试人员绑定,从而使开发和测试人员第一时间掌握所有信息。

3、从管理者的角度看,Allure 提供了一个清晰的“全局”视野。包括本次测试涵盖了哪些功能,Bug 在哪个 case 用例中被发现,以及整体测试用例、单条测试用例的执行时间等信息。

Allure 报告生成的原理

Allure 报告是基于标准的 xUnit 结果输出,再添加补充数据而生成的,其报告的生成基于如下两个步骤。

1、在测试执行期间,一个名为 Adapter 的小型 library 被连接到测试框架中,并将所有测试执行的信息保存到 XML 文件中。对于大多数编程语言下的流行测试框架(例如 python 语言中的 pytest,Java 中的 jUnit 等),Allure 都默认为其提供了 Adapter。

2、获取 XML 文件后,Allure 会将这些 XML 文件转换为 HTML 报告。这一步骤可以通过持续集成系统的 Allure 插件,或者命令行命令实现。

前言【环境配置】

python中有关allure测试报告的第三方包安装:

pip install allure-pytest

该命令将安装 allure-pytest 包与 allure-python-commons 两个第三方包。

用以生成与Allure报告兼容的报告数据。例如测试用例执行后的结果存放于指定的文件夹中的json文件与xml文件。

早些时候也会选择安装 pytest-allure-adaptor 插件去实现生成allure测试报告;但是现在由于pytest-allure-adaptor版本过低不兼容当前版本的allure,所以选择不安装此插件,而是选择安装 allure-pytest 来实现生成allure测试报告。

命令

1、pytest执行测试用例并将执行后的每个测试用例的结果存放于指定的文件夹中,生成一个个的json或者xml文件(allure测试报告原始数据)。

【其中,生成的报告都以json格式存储,日志以txt后缀名文件存储,附件是以attach后缀名文件存储】

pytest --alluredir=./report/tmp    # --alluredir表示指定测试报告数据的生成路径

执行完成上述命令后,会在当前目录下,report目录下生成一个tmp目录文件;

2、allure将测试报告的原始数据生成测试报告。【注意:这里只是将tmp目录中的测试报告原始数据在指定的文件夹生成allure测试报告,并未在本机开启一个allure服务】

allure generate report/tmp -o report/allure-report -c report/allure-report  # 此种方式可能会在生成报告的的时候报:report/allure-report does not exist

# 或者

allure generate report\tmp -c -o report\allure-report  # 最好使用该命令生成测试报告(与Jenkins上allure插件生成测试报告一致)
  • report/tmp:每个用例的执行结果生成的每个json文件存放的位置【allure最终会将这些json文件渲染成网页结果】
  • -o report/allure-report:allure报告生成的位置【指定目录生成测试报告】
  • -c report/allure-report:新的allure报告生成之前先把先前的allure报告清理掉

3、打开生成的报告,查看。【allure命令2、3结合起来运行】

allure open report/allure-report
  • 参数:-h, (--host):指定域名地址;
  • 参数:-p, (--port):指定端口号;

【注意】:【或者:忽略2、3步骤,直接在1结束之后,再运行4步骤】

4、打开生成的报告,可对外提供在线展示。【在本机开启一个allure服务,其他主机可通过IP地址和端口号远程查看allure报告】

allure serve report/tmp
  • 参数:-h, (--host):指定域名地址;
  • 参数:-p, (--port):指定端口号;

allure标记描述

allure报告详解

1、查看suites(函数级别的测试用例)

包名 --- 模块

  • 6
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pytest airtest allure框架集成是指将pytest、airtest和allure三个框架整合在一起使用的过程。 首先,pytest是一个功能强大的Python测试框架,用于简化和加速测试过程。它提供了丰富的插件和扩展,可以方便地进行测试用例的组织、执行和报告。 其次,airtest是一个用于自动化UI测试的Python库,具有跨平台、快速、简便等特点。它可以模拟用户的操作,如点击、滑动、输入等,以及获取屏幕上的元素信息,用于编写测试用例。 最后,allure是一个用于生成漂亮测试报告的开源框架。它提供了丰富的报告展示功能,包括图表、截图、日志等,能够直观地展示测试结果和问题。 将这三个框架进行集成,可以实现更高效、可靠的自动化测试。具体的集成步骤如下: 1. 首先,安装好pytest、airtest和allure这三个框架及其对应的插件和依赖。 2. 编写测试用例,使用pytest的语法来组织测试用例,并利用airtest的API来编写具体的测试步骤和断言。 3. 在执行测试用例之前,通过pytest的命令行参数或配置文件,指定使用allure来生成测试报告,并设置报告的存放路径。 4. 执行测试用例pytest会自动调用airtest运行测试,获取测试结果和日志,并将这些信息传递给allure。 5. 测试执行完毕后,allure会根据收集到的信息生成漂亮的测试报告,包括各种图表、测试用例的执行状态、运行时间等。 通过集成pytest、airtest和allure,可以将测试过程和结果更好地可视化和管理,提高测试效率和可靠性。此外,allure还支持与Jenkins等持续集成工具集成,方便自动化测试的持续集成和部署。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值