Pytest教程__定制allure报告(12)

news2024/11/19 10:24:28

定制报告需要先导入allure模块,再使用以下装饰器方法:

  • feature: 标注主要功能模块。
  • story: 标注feature功能模块下的分支功能。
  • description:在报告中显示用例描述。
  • step: 标注测试用例步骤。
  • issue && testcase:标注用例关联的链接。
  • attach: 添加一些附加内容到测试报告中。
  • severity: 标注测试用例的重要级别,包含blocker, critical, normal, minor, trivial 几个不同的等级。

feature && story

主要用于为用例分层级

import allure


@allure.feature("评论模块")
class TestComment:

    @allure.story("填写所有信息,点击提交,预期评论成功")
    def test_001(self):
        print("\n填写信息")
        print("\n点击提交")

    @allure.story("不输入任何信息,点击提交,预期提示填写必填项")
    def test_002(self):
        print("\n点击提交")

报告样式如下:

description

用于在报告中增加用例描述信息,除了这个方法外,还可以在方法下使用3个引号的方式增加用例描述信息。

import allure


@allure.feature("评论模块")
class TestComment:

    @allure.story("填写所有信息,点击提交,预期评论成功")
    @allure.description("用例描述...这样...那样...")
    def test_001(self):
        print("\n填写信息")
        print("\n点击提交")

    @allure.story("不输入任何信息,点击提交,预期提示填写必填项")
    def test_002(self):
        """用例描述...也可以...这样...那样"""
        print("\n点击提交")

报告样式如下:

step

在报告中增加测试步骤的显示。

import allure


@allure.feature("评论模块")
class TestComment:

    @allure.story("填写所有信息,点击提交,预期评论成功")
    @allure.description("用例描述...这样...那样...")
    def test_001(self):
        with allure.step("1、填写信息"):
            print("\n填写信息")
            assert 1 == 1
        with allure.step("2、点击提交"):
            print("\n点击提交")
            assert 2 == 1

    @allure.story("不输入任何信息,点击提交,预期提示填写必填项")
    def test_002(self):
        """用例描述...也可以...这样...那样"""
        print("\n点击提交")

报告样式如下:

issue && testcase

issue与testcase用于在报告中增加关联链接,用法基本一样,第1个参数为关联的url地址,第2个为缺省参数,作用是为地址的别名。

import allure


@allure.feature("评论模块")
class TestComment:

    @allure.story("填写所有信息,点击提交,预期评论成功")
    @allure.description("用例描述...这样...那样...")
    @allure.issue("http://www.baidu.com")
    @allure.testcase("http://www.baidu.com", "百度一下")
    def test_001(self):
        with allure.step("1、填写信息"):
            print("\n填写信息")
            assert 1 == 1
        with allure.step("2、点击提交"):
            print("\n点击提交")
            assert 2 == 1

    @allure.story("不输入任何信息,点击提交,预期提示填写必填项")
    def test_002(self):
        """用例描述...也可以...这样...那样"""
        print("\n点击提交")

报告样式如下:

attach

在报告中添加一些附加内容,内容可以为文本信息、图片、文件等。

import allure


@allure.feature("评论模块")
class TestComment:

    @allure.story("填写所有信息,点击提交,预期评论成功")
    @allure.description("用例描述...这样...那样...")
    @allure.issue("http://www.baidu.com")
    @allure.testcase("http://www.baidu.com", "百度一下")
    def test_001(self):
        with allure.step("1、填写信息"):
            print("\n填写信息")
            assert 1 == 1
        with allure.step("2、点击提交"):
            print("\n点击提交")

        # attach 添加文本信息
        allure.attach("文本信息标注信息...", "别名")
        # attach 可以添加图片
        allure.attach.file(r"D:\Users\User\Desktop\图片管理\60-60.jpg", "图片", attachment_type=allure.attachment_type.JPG)
        # attach 可以添加html文件
        allure.attach.file(r"D:\Users\User\Desktop\图片管理\test.html", "html文件", attachment_type=allure.attachment_type.HTML)

    @allure.story("不输入任何信息,点击提交,预期提示填写必填项")
    def test_002(self):
        """用例描述...也可以...这样...那样"""
        print("\n点击提交")

报告样式如下:

severity

为测试用例的划分重要级别,包含blocker, critical, normal, minor, trivial 5个不同的等级。默认是normal级别。

import allure


@allure.feature("评论模块")
class TestComment:

    @allure.story("填写所有信息,点击提交,预期评论成功")
    @allure.description("用例描述...这样...那样...")
    @allure.issue("http://www.baidu.com")
    @allure.testcase("http://www.baidu.com", "百度一下")
    def test_001(self):
        with allure.step("1、填写信息"):
            print("\n填写信息")
            assert 1 == 1
        with allure.step("2、点击提交"):
            print("\n点击提交")

        # attach 添加文本信息
        allure.attach("文本信息标注信息...", "别名")
        # attach 可以添加图片
        allure.attach.file(r"D:\Users\User\Desktop\图片管理\60-60.jpg", "图片", attachment_type=allure.attachment_type.JPG)
        # attach 可以添加html文件
        allure.attach.file(r"D:\Users\User\Desktop\图片管理\test.html", "html文件", attachment_type=allure.attachment_type.HTML)

    @allure.severity("blocker")
    def test_002(self):
        pass

    @allure.severity("critical")
    def test_003(self):
        pass

    @allure.severity("minor")
    def test_004(self):
        assert 1 == 2

报告样式如下:

环境配置信息

在概览中查看环境配置默认是没有的。

若要在报告中增加环境信息需要在第一步生成的json文件中,增加一个environment.properties文件,文件内容如下样式:

systemVersion=win10
pythonVersion=3.8.5
allureVersion=2.13.9
baseUrl=http://192.168.1.x:8080
projectName=test

然后再执行并生成报告,报告样式如下:

在allure 1.X的中,可以通过一个以test开头的py文件来配置,该方法在 2.X已弃用,仅供了解:

报告样式如下:

  • feature && story
  • description
  • step
  • issue && testcase
  • attach
  • severity
  • 环境配置信息

-事必有法,然后有成- 最后祝大家早日达到测试的天花板!



以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以留言【777】直接拿走就好了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/654032.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单链表刷题(1-3)

目录 反转链表 移除元素 合并有序链表 反转链表 力扣 我们用取头节点依次进行头插的方式解决这道题。需要注意的是头插前要保存下一个节点。 struct ListNode* reverseList(struct ListNode* head){typedef struct ListNode SL;SL* cur head;SL* rhead NULL;//初始指向空…

TienChin 代码格式化-项目结构大改造

代码格式化 博主下载项目之后发现,整体的代码格式化风格,与 C 那种语言很相似,说明这个作者之前就是从事这块的导致风格有点类似,我们来格式化一下,当然这不是必要的,我是没习惯这种写法所以这里我写一下我…

2023年测试岗,你真的懂测试吗?凭什么他能月薪25k+

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 测试人员应该居安…

Redis入门 - 事务

原文首更地址,阅读效果更佳! Redis入门 - 事务 | CoderMast编程桅杆https://www.codermast.com/database/redis/redis-transaction.html Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证: 批量操作在发送 EXEC 命…

STM32串口通信详解(嵌入式学习)

STM32串口通信 1.通信基础知识1.1 时钟信号区分同步通信异步通信波特率总线协议(电气协议) 1.2 通信方式划分串行通信并行通信 1.3 通信方向划分单工通信半双工通信全双工通信常见通信总结 2. USARTUSART 介绍 3. 串口通信协议4. 相关寄存器串口控制寄存器波特率寄存器中断和状…

segment anything环境配置与使用测试

硬件:RTX3070 i9-11900H 内存16G 目录 一、环境配置 二、使用测试--predictor_example.ipynb 1.jupyter notebook准备操作 2.Object masks from prompts with SAM与Environment Set-up 3.Set-up 4.Example image 5.Selecting objects with SAM 6.Specifyin…

GeoServer安装部署

GeoServer是一款开源的GIS服务器,用于管理、共享和编辑空间数据。 它的主要功能包括: 管理空间数据:GeoServer可以连接各种空间数据源,包括文件(SHP、CSV等)、数据库(PostGIS,Oracle,SQL Server等)和云存储(S3,Swift,Azure等)。并提供数据的浏览、上传、下载和删除…

webgpu之旅04

继续继续 319854902 319854902 319854902 319854902 webgpu交Q流群首先准备好绘制到屏幕所需的这个descriptor if rendertarget this._textures.initRenderTarget( renderTarget ); 来看一下这个函数里面会做什么 renderTargetProperties是这个target的properties 创建一个co…

历时一个月,腾讯认证python全套项目实战笔记,终于整理出来了

前言 之前拿到一份关于腾讯认证的python的全套项目实战脑图,于是历时花费一个月,终于是熬夜加点的给肝出来了,先用typora全部写出来,然后再导出成PDF文件,目前已经完全搞定。 总共划分内容为(七大模块&am…

Telnet协议详解

Telnet协议是一种远程登录协议,它允许用户通过网络连接到远程主机并在远程主机上执行命令。本文将对Telnet协议进行详细介绍,包括其基本概念、连接方式、C/S模式以及工作原理。 一、Telnet协议的基本概念 1. NVT(Network Virtual Terminal&a…

通付盾荣获第六届(2023)数字金融创新大赛“创新先锋榜”!

今日,第六届(2023)数字金融创新大赛“创新先锋榜”揭晓,大赛由中国电子银行网、数字金融联合宣传年主办,自4月6日开启以来,得到数字金融行业各方的积极响应与支持。经过专家评分、路演评审等环节&#xff0…

Android中Activity、View和Window关系详解

Android系统启动篇 1,《android系统启动流程简介》 2,《android init进程启动流程》 3,《android zygote进程启动流程》 4,《Android SystemServer进程启动流程》 5,《android launcher启动流程》 6,…

8年测试总结,App测试要点常见bug分类,从功能到性能测试...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 而针对手机应用软…

数字IC设计怎么入门?(附学习全流程)

看到很多小伙伴都不了解数字IC设计该怎么学,下面就来给大家来具体讲讲。 其实对于初级数字 IC 设计工程师而言,不仅仅需要较好的 Verilog 语法功底,还要熟悉企业的 Linux 环境以及 EDA 工具,此时你就需要掌握 Shell,V…

Django 权限管理和guardian插件

内置权限管理 Django内置的权限管理, 是一种表权限, 就是可分别配置某管理员用户对某个表的全部数据有没有增删改查4种权限. 图形界面配置权限 之前提到,使用命令行创建超管用户: python manage.py createsuperuser这其实是在最普通的用户的基础上将…

百度网盘的最新插件(懂得都懂)

下面先给大家介绍一下油猴插件。 这个插件为什么叫油猴? 现在我们经常提到的油猴插件,常指Tampermonkey,但Tampermonkey翻译过来是叫篡改猴,为什么会叫油猴呢?原因是因为另一个插件Greasemonkey,它翻译过…

Qt编写iFIx组态软件日报表插件的实现

一、iFIx中生成report.MDB文件 在Ifxi组态软件的【调度】中新建调度任务【report】添加【定时器调度项】FixTimer5,间隔1h触发一次。通过此任务及脚本程序,将相关变量定时存入自动生成的report.MDB文件中。 用户脚本程序如下: ---- User Co…

Sui对外开放开发者Office Hour

Sui宣布开启新一轮的Sui开发工程师Office Hour。本期的Office Hour由Sui基金会和Mysten Labs共同主办,为Sui上开发的相关技术问题进行答疑解惑并提供支持。 开发工程Office Hour将于每周五1:00 AM(GMT8)开设,时长为1小时。 每个…

程序性能优化实践总结——JAVA

文章目录 1、 衡量程序性能的指标2、Java 程序性能优化切入点3、获取程序的性能数据1、nmon:获取系统性能数据2、jvisualvm:获取JVM性能数据3、jmc:获取Java应用详细性能数据4、arthas:获取单个请求的调用链耗时5、wrk获取Web接口的性能数据 4、应用程序优化1、缓冲区2、缓存3、…

vm.min_free_kbytes调整导致GI异常,kernel: oracle: page allocation failure

有个11204 rac的测试环境,客户反馈凌晨rman全备时偶尔会有内存耗尽导致数据库重启的情况,不是合同内的维护环境,请我们帮忙处理。我估计是没配置vm.min_free_kbytes,之前也调整多次每次都成功完成,就没有多想&#xff…