allure定制化输出测试报告,让报告锦上添花!
一、定制化后的效果展示
用两张图展示效果:


二、注意别踩坑
allure定制化想必大部分情况都会去选择pip install pytest-allure-adaptor这个插件,安装完成后,运行定制化代码出现以下报错:

安装了pytest-allure-adaptor插件的定制代码像这样的:

我们会使用allure.MASTER_HELPER下的方法去进行定制,通过查看该插件的官网https://pypi.org/project/pytest-allure-adaptor/,发现版本不匹配,因此抛出了异常

解决办法:
- pytest-allure-adaptor版本过低不兼容当前版本的allure,选择不安装该插件
- 使用allure下的方法去进行定制
三、定制化内容
使用前,先引入allure模块
import allure
1.feature——测试用例特性(主要功能模块)
使用方法:@allure.feature()



2.story——feature功能模块下的分支功能
使用方法:@allure.story()


3.severity——测试用例的严重级别
Allure中对严重级别的定义:
- blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)
- critical级别:临界缺陷( 功能点缺失)
- normal级别:普通缺陷(数值计算错误)
- minor级别:次要缺陷(界面错误与UI需求不符)
- trivial级别:轻微缺陷(必输项无提示,或者提示不规范)
使用方法:@allure.severity(allure.severity_level.CRITICAL) 或者 @allure.severity('critical')


4.step——测试用例的步骤
使用方法:1.@allure.step() 只能以装饰器的形式放在类或者方法上面 2.with allure.step(): 可以放在测试用例方法里面,但测试步骤的代码需要被该语句包含


5.attach——用于向测试报告中输入一些附加的信息,通常是一些测试数据信息
使用方法:allure.attach(body, name, attachment_type, extension)
body- 要写入文件的原始内容name- 包含文件名的字符串attachment_type- 其中一个allure.attachment_type值extension- 提供的将用作创建文件的扩展名


6.link/issue/testcase——链接
使用方法:
- @allure.link()
- @allure.issue()
- @allure.testcase()


7.description——用例描述
使用方法:
- @allure.description() 提供描述字符串的装饰器
- @allure.description_html() 提供一些HTML在测试用例的描述部分


allure定制化输出测试报告,让报告锦上添花!的更多相关文章
- pytest+allure(allure-pytest基于这个插件)设计定制化报告
一:环境准备 1.python3.6 2.windows环境 3.pycharm 4.allure-pytest 5.allure2.8.0 6.java1.8 allure-pytest快速安装 在 ...
- pytest+allure(pytest-allure-adaptor基于这个插件)设计定制化报告
一:环境准备 1.python3.6 2.windows环境 3.pycharm 4.pytest-allure-adaptor 5.allure2.8.0 6.java1.8 pytest-allu ...
- 【迷你微信】基于MINA、Hibernate、Spring、Protobuf的即时聊天系统:11.定制化Log输出
欢迎阅读我的开源项目<迷你微信>服务器与<迷你微信>客户端 前言 在<迷你微信>服务器中,我们用了Log4J来进行输出,这可以在我们程序出现异常的时候找到错误发生时 ...
- python+robot framework实现测报告定制化和邮件发送
前面已经介绍了python+robot framework自动化框架和基本原理的实现,详情请看 python+robot framework接口自动化测试 本章主要讲解报告已经产生那如何以自动化的方式 ...
- Gradle 实现 Android 多渠道定制化打包
Gradle 实现 Android 多渠道定制化打包 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近在项目中遇到需要实现 Apk 多渠道.定制化打包, Google .百度查找了一些资料, ...
- Oracle Sales Cloud:管理沙盒(定制化)小细节1——利用公式创建字段并显示在前端页面
Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的CRM管理系统.由于 Oracle 销售云是基于 Oracle 云环境的,它与传统的管理系统相比,显著特点之一便 ...
- AI应用开发实战 - 定制化视觉服务的使用
AI应用开发实战 - 定制化视觉服务的使用 本篇教程的目标是学会使用定制化视觉服务,并能在UWP应用中集成定制化视觉服务模型. 前一篇:AI应用开发实战 - 手写识别应用入门 建议和反馈,请发送到 h ...
- 自动化部署必备技能—定制化RPM包[转载]
回顾下安装软件的三种方式: 1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长. 2.yum安装软件,优点是全自动化 ...
- 自动化部署必备技能—定制化RPM包
回顾下安装软件的三种方式: 1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长. 2.yum安装软件,优点是全自动化 ...
随机推荐
- navicat for mysql 连接 mysql 出现Client does not support authentication protocol requested by server解决方案
一 .桌面左下角windows图标--搜索框内输入cmd,结果如图所示,点击cmd.exe,或者使用快捷键Windows键(在键盘上有个Windows标志的按键)+R输入cmd后回车. 二. 在出来的 ...
- MongoDB学习笔记(七、MongoDB总结)
1.为什么要NoSQL:nosql能解决sql中那些解决不了的问题 NoSQL是什么:Not Only SQL,本质上还是数据库,但它不会遵循传统数据库的规则(如:SQL标准.ACID属性[事务].表 ...
- fiddler添加IP列
willow一个规则管理插件 Ctrl+F查找“static function Main()”字符串,然后添加以下代码: FiddlerObject.UI.lvSessions.AddBoundCol ...
- java之父类中的构造器是否能被子类继承?
子类默认继承父类的属性和方法,但不会继承父类的构造器,而是在子类被实例化时会默认调用父类的空构造器.子类在创建的时候会调用自己的空构造器,并在空构造器会隐式调用super(),即父类的空构造器.如果父 ...
- docker 部署springcloud项目
一.首先从 docker.hub[地址:https://hub.docker.com] 中根据各自的需求 pull 对应的 openjdk镜像(本次直接在修改后的docker镜像源中下载) docke ...
- C++ 如何用百行代码实现线程安全的并发队列 | concurrent queue or blocking queue implemented in cpp
本文首发于个人博客https://kezunlin.me/post/cabccf5c/,欢迎阅读最新内容! concurrent queue or blocking queue implemented ...
- 一起学Android之AsyncTask
概述 在Android开发中,为了方便我们在后台线程中执行操作,然后将结果发送给主线程,从而在主线程中进行UI更新等操作,Anddroid开发框架提供了一个助手类AsyncTask,它对Thread和 ...
- audio标签以及audio对象
一.audio标签 简单语法 <audio src="音频链接"></audio> 属性 属性 值 描述 autoplay 如果出现该属性,则音频在就绪后马 ...
- CRM第二篇
检索策略 : 相当于优化查询,主要是分为立即加载和延迟加载. 当你查询一个对象的时候,要想立马使用这个对象,或者说是立即查询出来,就使用立即加载. 当你查询这个对象时候不想立马查询出来,而是在使用这个 ...
- SSH框架之Hibernate第二篇
1.1 持久化类的编写规则 1.1.1 什么是持久化类? 持久化类 : 与表建立了映射关系的实体类,就可以称之为持久化类. 持久化类 = Java类 + 映射文件. 1.1.2 持久化类的编写规则 ( ...