pytest--allure报告中添加用例详情

news2025/1/11 4:22:01

前言

前面介绍了如何生成allure的报告,看着allure的页面非常好看,但是感觉少了一些内容,allure还可以增加一些用例详情内容,这样让我们的报告看着更加绚丽。

allure增加用例详情

我们可以在报告测试套件中增加用例详情内容。

用例标题

1、需要导入allure模块

2、在每条用例函数前需要加上 @allure.title('标题内容') 

3、正常执行生成allure报告。

import allure

class TestCase:

    @allure.title('用例1的名称')
    def test_01(self):
        print('---用例01---')
        assert 1

    @allure.title('用例2的名称')
    def test_02(self):
        print('---用例02---')
        assert 1

    @allure.title('用例3的名称')
    def test_03(self):
        print('---用例03---')
        assert 2

通过在cmd中输入 pytest --alluredir ./report/result 执行测试用例,在执行 allure serve report/result 打开allure报告。这样就能在报告中看出生成了三条用例,并将对应的用例名称显示出来了。

用例描述

用例除了用例标题显示出用例内容外,我们也可以通过用例描述更加详细的在allure中展示出来

这里和unittest的时候显示标题一样,直接通过python的语法在用例中增加注释

import allure

class TestCase:

    @allure.title('用例1的名称')
    def test_01(self):
        '''用例_01的描述内容'''
        print('---用例01---')
        assert 1

    @allure.title('用例2的名称')
    def test_02(self):
        '''用例_02的描述内容'''
        print('---用例02---')
        assert 1

    @allure.title('用例3的名称')
    def test_03(self):
        '''用例_03的描述内容'''
        print('---用例03---')
        assert 2

同样通过cmd命令行中输入对应的打开allure的报告内容。可以进入到用例详情页面中查看到,描述已经成功添加了。

用例操作步骤

allure中也可以添加将用例的操作步骤进行添加进去,这里通过 allure.step() 的方法来实现添加操作步骤

import allure

class TestCase:

    @allure.title('登录用户')
    def test_01(self):
        '''登录用户'''
        print('---用例01---')
        with allure.step('输入登录用户名'):
            print('输入用户名')
        with allure.step('输入登录的密码'):
            print('输入密码')
        with allure.step('点击登录'):
            print('点击登录!')
        assert 1

    @allure.title('进入测试页面')
    def test_02(self):
        '''进入测试页面'''
        print('---用例02---')
        with allure.step('进入测试页面'):
            print('进入测试页面')
        with allure.step('点击测试内容'):
            print('点击测试内容')
        assert 1

和上面的操作一样,打开cmd进行生成allure命令。通过在allure中进行查看报告内容。可以看到已经在测试步骤中添加上了。

 

定义测试用例相关链接

自动化测试用例都是通过功能用例转换过来的,我们也可以通过allure将我们的测试用例相关的链接到我们的自动化测试用例中,并通过allure展示出来,这里可以通过 @allure.issue() 进行添加bug缺陷内容, @allure.testcase() 添加测试用例链接

import allure

class TestCase:

    @allure.issue('https://home.cnblogs.com/u/qican/')
    @allure.testcase('https://www.baidu.com/')
    @allure.title('登录用户')
    def test_01(self):
        '''登录用户'''
        print('---用例01---')
        with allure.step('输入登录用户名'):
            print('输入用户名')
        with allure.step('输入登录的密码'):
            print('输入密码')
        with allure.step('点击登录'):
            print('点击登录!')
        assert 1

    @allure.issue('https://home.cnblogs.com/u/qican/')
    @allure.testcase('https://www.baidu.com/')
    @allure.title('进入测试页面')
    def test_02(self):
        '''进入测试页面'''
        print('---用例02---')
        with allure.step('进入测试页面'):
            print('进入测试页面')
        with allure.step('点击测试内容'):
            print('点击测试内容')
        assert 1

继续通过allure的报告执行方式,生成allure报告和打开allure报告,就可以看到我们的测试用例相关链接已经添加好了。

用例标签模块

功能测试中可以对测试用例根据不同的模块进行划分,自动化中也可以对用例进行不同模块的划分,然后通过allure的形式进行展示出来,这里我们可以通过 @allure.feature() 对其用例进行增加不同模块。也可以通过 @allure.epic 设置用例整体标签以及模块内容

import allure

@allure.epic("属于登录标签")
@allure.feature('登录模块')
class TestCase:
    @allure.title('登录用户')
    def test_01(self):
        '''登录用户'''
        print('---用例01---')
        with allure.step('输入登录用户名'):
            print('输入用户名')
        with allure.step('输入登录的密码'):
            print('输入密码')
        with allure.step('点击登录'):
            print('点击登录!')
        assert 1

    @allure.title('进入测试页面')
    def test_02(self):
        '''进入测试页面'''
        print('---用例02---')
        with allure.step('进入测试页面'):
            print('进入测试页面')
        with allure.step('点击测试内容'):
            print('点击测试内容')
        assert 1

@allure.epic("属于退出登录标签")
@allure.feature('退出登录模块')
class Test01:

    def test_01(self):
        print('---用例03---')

    def test_02(self):
        print('---用例04---')

同样通过cmd进行生成allure报告,然后通过查看allure报告内容,通过下图已经可以很清楚的看出来在增加了用例标签和用例模块

总结

通过上面简单的总结,allure还是很强大的,可以将我们的报告设计的更加好看,对应测试用例模块的划分也很好的展示出来,最最最主要的是领导能看懂了。好了,感谢您的阅读,希望对您有所帮助

 总结:

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

   Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628

 

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

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

相关文章

Spring初识(四)

文章目录 前言一.Bean的作用域1.1 作用域例子1.2 Bean的作用域类型 二.Bean的生命周期 前言 在前面我们学习了spring简单的读取和存储对象之后,Spring 中 Bean 是最核心的操作资源,我们接下来会介绍Bean对象. 一.Bean的作用域 什么是Bean作用域呢? 限定程序中变…

[DDPM] Denoising Diffusion Probabilistic Models

直接看paper云里雾里,一些推荐的讲解: The Annotated Diffusion Model 生成扩散模型漫谈(一):DDPM 拆楼 建楼 生成扩散模型漫谈(二):DDPM 自回归式VAE 生成扩散模型漫谈&#xff…

SQL-每日一题【619.只出现一次的最大数字】

题目 MyNumbers 表: 单一数字 是在 MyNumbers 表中只出现一次的数字。 请你编写一个 SQL 查询来报告最大的 单一数字 。如果不存在 单一数字 ,查询需报告 null 。 查询结果如下例所示。 示例 1: 示例 2: 解题思路 1.题目要求我…

MyBatis---多表查询,动态sql的详细介绍

目录 1.命名规则 1.resultMap(对应类属性名称与数据库字段名称) 2.多表查询(ResultMap) 1.创建articleInfo类 2.创建ArticleMapper.xml配置文件和ArticleMapper接口 ①:不建议使用 (文件之间耦合严重…

十大排序算法详解

目录 1. 冒泡排序 a. 思路 b. code 2. 插入排序 a. 思路 b. code 3. 希尔排序【插入排序plus】 a. 思路 b. code 4. 选择排序 a. 思路 b. code 5. 基数排序 a. 前置知识 b. 思路 c. code 6. 计数排序 a. 思路 b. code 7. 桶排序(计数排序plus &…

怎么在shell中查看python版本以及降低anaconda的python版本

输入命令 python --version 电脑anaconda的python版本为3.11,如何降低版本 ,输入命令 conda install python3.9 当安装完anaconda后,ubuntu系统的shell命令行最前面会出现base字样,此时要退出,就输入命令 conda deacti…

如何开启QQ邮件的SMTP服务以及如何使用Python发送邮件

如何开启QQ邮件的SMTP服务以及如何使用Python发送邮件 😇博主简介:我是一名正在攻读研究生学位的人工智能专业学生,我可以为计算机、人工智能相关本科生和研究生提供排忧解惑的服务。如果您有任何问题或困惑,欢迎随时来交流哦&…

Qt应用开发——Drag and Drop

目录 一、前言 二、相关事件和类 三、实例 拖动文件到编辑框 一、前言 在实际场景中,经常会有导入文件的需求。导入文件一般两种方式,第一种QFileDialog显示一个文件选择窗口,选择后处理和显示。第二种就是使用拖放机制实现。还有在一些制…

.faust加密勒索数据库恢复---惜分飞

有客户的win服务器被勒索病毒加密,里面运行有用友系统的Oracle数据库,加密提示为(camry2020aol.com): 加密的数据文件类似(.DBF.id[0E564ACA-3493].[camry2020aol.com].faust): 通过工具检测发现少量bl…

(2)前端控制器的扩展配置, 视图解析器类型以及MVC执行流程的概述

SpringMVC入门程序的扩展说明 注册前端控制器的细节 在web.xml文件注册SpringMVC的前端控制器DispatcherServlet时使用url-pattern标签中使用/和/*的区别 /可以匹配.html或.js或.css等方式的请求路径,但不匹配*.jsp的请求路径/*可以匹配所有请求(包括.jsp请求), 例如在过滤器…

Kotlin空安全类型之平台类型

前言 众所周知,Kotlin的空安全很方便,能避免绝大部分的空安全问题 一般类型分为: 可空类型如 String? 不可空类型 String其中可空类型的String?可以赋值null或String类型的值,在使用时必须显式的进行空处理 而不可空类型的String,只能赋值String类型,无法向其赋值null,使用时…

JAVA基础-Stream流

引言 Java 8 版本新增的Stream,配合同版本出现的Lambda ,给我们操作集合(Collection)提供了极大的 便利。Stream流是JDK8新增的成员,允许以声明性方式处理数据集合,可以把Stream流看作是遍历数据集 合的一个…

【后端面经-Java】Java基本概念

【后端面经-Java】Java基本概念) 1. 面向对象和面向过程1.1 概念1.2 优缺点对比 2. C和Java的区别2.1 "去其糟粕"——Java同学,你对C的这些东西有什么意见?2.2 改进之处————Java同学,你的这个论文,&…

伦敦金投资仓位控制的方法

留意本栏目过去的文章的朋友都会发现,其实小编认为资金管理很重要,甚至重要性超过技术分析找到入场机会。在资金管理中,关于仓位的控制是一门很大的学问,在伦敦金投资中,仓位的控制关系到我们盈亏的多少,甚…

利用百度地图做个亚洲范围地震可视化特效果

地图叠加等值面效果,绘制掩体模型 地震闪动特效 地震热力图效果

【人工智能】局部搜索算法、爬山法、模拟退火、局部剪枝、遗传算法

文章目录 局部搜索算法内存限制局部搜索算法示例:n-皇后爬山算法随机重启爬山模拟退火算法局部剪枝搜索遗传算法小结局部搜索算法 在某些规模太大的问题状态空间内,A*往往不够用 问题空间太大了无法访问 f 小于最优的所有状态通常,甚至无法储存整个边缘队列解决方案 设计选择…

vue-cli脚手架创建创建的项目打包后无法正常打开报 Failed to load resource: net::ERR_FILE_NOT_FOUND错误

亲爱的小伙伴们,你们最近是否有遇到用使用最新的脚手架打包项目后index.html文件无法正常打开,然后控制台报错的情况呢,不要担心,这个坑今天被我踩到了并且被我解决了,下边就让我来给大家分享一下经验吧! …

树莓派4B通过wiringP库实现串口通信的实验

1.实现串口通信前的准备 树莓派4b实现与其它设备之间的串口通信需要做一些配置&#xff0c;可以点进这篇文章进行查看参考文章 wiringPi库串口相关的API参考文章链接wiringPI库串口API 2.实现单个字符的发送 #include <stdio.h> #include <wiringPi.h> #includ…

MFC第二十一天 CS架构多页面开发与数据交互、CImageList图像列表介绍 、CListCtrl-SetItem设置列表项的方法

文章目录 CImageList图像列表介绍CListCtrl图标的原理CListCtrl列表图标设置CListCtrl-SetItem设置列表项的方法 CS架构多页面开发与数据交互添加用户实现向导多页数据交互pch.hCLientXq.h CAppCPage1.hCPage1.cppCPage2.hCPage2.cppCWorkerDlg .hCWorkerDlg.cpp 多页数据修改C…

javascript实现九九乘法表

乘法表是初学者学习乘法基础的一个重要工具&#xff0c;同时也是程序员实践编程技能的一个常见项目。在本文中&#xff0c;我将介绍如何使用JavaScript实现一个简单的乘法表。 首先&#xff0c;我们需要明确乘法表的基本结构。乘法表通常是一个正方形的表格&#xff0c;包含从…