首页 > 其他分享 >allure的兼容问题, pytest-allure-adaptor与allure-pytest

allure的兼容问题, pytest-allure-adaptor与allure-pytest

时间:2022-11-22 12:22:53浏览次数:74  
标签:测试报告 Allure adaptor pytest 生成 allure report

官方介绍

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

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测试报告,但是在python3的时候会出现报错

INTERNALERROR>     pytest.allure._allurelistener = testlistener
INTERNALERROR> AttributeError: module 'pytest' has no attribute 'allure'

原因可能由于:因为pytest-allure-adaptor库基本被python3放弃了,运行很不友好,所以报错,所以选择不安装此插件,而是选择安装 allure-pytest 来实现生成allure测试报告。
解决方法

pip uninstall pytest-allure-adaptor
pip install allure-pytest

命令

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(函数级别的测试用例)

包名 --- 模块名 --- 测试用例

 

 

 

 

 

 

 

 

 

 

 



标签:测试报告,Allure,adaptor,pytest,生成,allure,report
From: https://www.cnblogs.com/hhaostudy/p/16914711.html

相关文章

  • pytest-介绍
    1、pytest简单介绍pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点:简单灵活,容易上手支持参数化能够支持简单的单元测试和复杂的功能测试,还可以用来做se......
  • pytest重复执行用例
    一、在cmd安装repeatpytest-repeat是pytest的一个插件,用于重复执行单个用例,或多个测试用例,并指定重复次数,pytest-repeat支持的版本:python2.7,3.4+或PyPypy.test2.......
  • pytest.ini详解
    pytest.ini详解[pytest]timeout=1500addopts=-v-s-pno:warningslog_cli=true;NOTSET,DEBUG,INFO,WARNING,ERROR,CRITICALlog_cli_level=NOTSETlog_......
  • pytest文档83 - 把收集的 yaml 文件转成pytest 模块和用例
    前言前面实现了一个基础的读取yaml文件内容,当成用例去执行。虽然入门简单,但需要扩展功能,比如在yaml用例实现参数化,就不好扩展了。因为它并不是一个真正的pytest的模块......
  • pytest文档82 - 用例收集钩子 pytest_collect_file 的使用
    前言pytest提供了一个收集用例的钩子,在用例收集阶段,默认会查找test_*.py文件或者*_test.py文件。如果我们想运行一个非python的文件,比如用yaml文件写用例,那么就需要......
  • pytest文档81 - 如何管理Captured logging日志
    前言pytest自动捕获级别为WARNING或以上的日志消息,并以与捕获的stdout和stderr相同的方式在每个失败测试的各自部分中显示它们。日志显示当输入pytest命令,不带任......
  • pytester
    目录介绍cd到临时文件目录创建文件相关介绍pytester是pytest框架的内置fixture,想使用pytester要在conftest.py或者是用例文件的最上面添加pytest_plugins="pytester"......
  • pytest_01-pytest简介
    一、pytest单元测试框架(1)什么是单元测试框架单元测试是指在软件开发当中,针对软件的最小单位(函数、方法)进行正确性的检查测试(2)单元测试框架java:junit和tesingpytho......
  • Pytest接口测试框架实战项目搭建(四)—— 业务系统接口请求演示
    一、前言前面相当于已经讲完整体框架搭建了,本篇主要讲述在实际业务系统的接口请求中,如何运用好该接口自动化测试框架。二、步骤演示1、在conf/api_path.py新增需要......
  • Pytest接口测试框架实战项目搭建(三)—— 统一登录处理
    一、前言业务系统的登录均要经过统一登录系统S,本篇演示2个业务系统的登录,一个是内部业务系统C,一个是外部用户使用的系统W,因为账号密码以及headers信息都不一样,所以要......