allure用法(一)-配置信息及基本用法
allure是一个轻量级的,灵活的,支持多语言的测试报告工具
优点:
- 可以为dev/qa 提供 详尽的测试报告、测试步骤、日志
- 可以为管理层提供更好的统计报告
- Java语言开发的
- 可以集成到jenkins
配置信息(显示在测试报告中):
1.environment.properties或environment.xml 自己在allure-results目录下创建,存放环境信息

2.categories.json 测试结果的分类,默认有两类缺陷,Product defects和 Test defects,同样放在allure-results目录下
[
{
"name": "Ignored tests",
"matchedStatuses": ["skipped"]
},
{
"name": "Infrastructure problems",
"matchedStatuses": ["broken", "failed"],
"messageRegex": ".*bye-bye.*"
},
{
"name": "Outdated tests",
"matchedStatuses": ["broken"],
"traceRegex": ".*FileNotFoundException.*"
},
{
"name": "Product defects",
"matchedStatuses": ["failed"]
},
{
"name": "Test defects",
"matchedStatuses": ["broken"]
}
]
参数解释:
name:分类名称
matchedStatuses:测试用例的运行状态,默认["failed", "broken", "passed", "skipped", "unknown"]
messageRegex:测试用例运行的错误信息,默认是 .* 正则匹配
traceRegex:测试用例运行的错误堆栈信息,默认是 .* 正则匹配
配置信息在报告中的显示(注意生成报告的目录也要在allure-results目录下,才可以看到environment信息,否则会显示为空)

执行:
- 安装allure-pytest插件
pip install allure-pytest
- 运行
先测试执行期间收集结果
--alluredir 用于指定存储运行结果的路径
pytest [测试文件] -s -q --alluredir=./result/
查看测试报告
allure serve ./result/
allure常用特性
在报告中查看测试功能,子功能或场景,测试步骤,测试附加信息
@feature @story @step @attach
使用
- import allure
- 功能上加@allure.feature('功能名称')
- 子功能上加@allure.story('子功能名称')
- 步骤上加@allure.step('步骤细节')
- @allure.attach('具体文本信息'),需要附加的信息,可以是数据、文本、图片、视频、网页
- feature相当于一个大功能,一个模块,将case分到某个feature中,story对应这个功能或模块下的不同场景,分支功能,feature和story类似父子关系
只测试某一功能时可以增加限制过滤
pytest 文件名 --allure-features '功能模块' --allure-stories '子功能模块'
allure-step
测试过程中每一个步骤,一般放在具体逻辑方法中,可以放在关键步骤
用法:
@allure.step() 只能以装饰器的方式放在类或方法上面
with allure.step():可以放在测试方法里,测试步骤的代码需要被该语句包含
例如:
import pytest
import allure @allure.feature("测试allure功能")
class Test_param: @allure.story("测试子模块功能")
# @myskip
def test_param(self,a=1,b=2):
with allure.step("测试a+b的值"):
assert a+b == 3
print(a+b)
运行结果:
allure-link
@allure.link(“链接地址”,name="") name是为链接地址指定一个名称
@allure.link("http://www.baidu.com",name="百度一下")
def test_link(self):
print("测试链接")
pass
运行结果:

allure用法(一)-配置信息及基本用法的更多相关文章
- spring读取数据库的配置信息(url、username、password)时的<bean>PropertyPlaceholderConfigurer的用法
用法1: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://w ...
- springcloud(五):Spring Cloud 配置中心的基本用法
Spring Cloud 配置中心的基本用法 1. 概述 本文介绍了Spring Cloud的配置中心,介绍配置中心的如何配置服务端及配置参数,也介绍客户端如何和配置中心交互和配置参数说明. 配置中心 ...
- 使用Apache Commons Configuration读取配置信息
在项目中使用一些比较新的库总会给你带来很多快乐,在这篇文章中,我将会给你介绍一个在Java中读取配置文件的框架——Apache Commons Configuration framework. 你会了 ...
- SEO配置信息操作文档
一.title(网站标题) title,就是浏览器上显示的那些内容,不仅用户能看到,也能被搜索引擎检索到(搜索引擎在抓取网页时,最先读取的就是网页标题,所以title是否正确设置极其重要.)title ...
- 深入理解MyBatis框架的的配置信息
面对一个框架,最重要的不是说回用其代码就可以了,我们需要了解其思想,这样才能更快更好的掌握这个框架.而对于一个框架,最重要的就是其配置文件的作用及功能了.下面,我就来谈一谈我今天遇到的这个MyBati ...
- Mybatis配置信息浅析 MyBatis简介(二)
官方文档入门篇中有明确说明 每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的. SqlSessionFactory 的实例可以通过 SqlSessionF ...
- jenkins 备份配置信息
本文介绍几种备份jenkin配置信息的方法,大家可根据实际情况做出选择. 我的测试环境如下: windows 7 jenkins 2.32.3 ____升级到___2.46.3 (长期支持版本) 多种 ...
- [转帖]IIS内虚拟站点配置信息说明
web.config配置详细说明 https://www.cnblogs.com/zhangxiaolei521/p/5600607.html 原作者总结的很详细 但是没有完全的看完 自己对IIS 的 ...
- vuejs目录结构启动项目安装nodejs命令,api配置信息思维导图版
vuejs目录结构启动项目安装nodejs命令,api配置信息思维导图版 vuejs技术交流QQ群:458915921 有兴趣的可以加入 vuejs 目录结构 build build.js check ...
随机推荐
- ArcGIS进行容积率计算
空间分析--题目2 容积率(Plot Ratio/Floor Area Ratio/Volume Fraction)又称建筑面积毛密度,是指一个小区的地上总建筑面积与用地面积的比率.对于开发商来说,容 ...
- Poco实体
在Poco实体中,一般只有属性没有方法,这在软件设计中称为贫血模型, 在DDD领域驱动设计中,提倡充血模型,即你的Poco实体中,即有属性,也有操作属性的方法,[PS:注意这里说的是操作属性的方法,你 ...
- 知识点简单总结——Pollard-Rho算法
知识点简单总结--Pollard-Rho算法 MillerRabin算法 用于对较大(int64)范围内的数判定质数. 原理:费马小定理,二次探测定理. 二次探测定理:若 $ p $ 为奇素数且 $ ...
- 一个序列出现固定元素个数的方法(DFS)
#include <iostream.h> int a[100];int i; static int stat=0; void dfs(int n,int oneCount) { if(o ...
- 什么是 JavaConfig?
Spring JavaConfig 是 Spring 社区的产品,它提供了配置 Spring IoC 容器的纯 Java 方法.因此它有助于避免使用 XML 配置.使用 JavaConfig 的优点在 ...
- kafka中consumer group 是什么概念?
同样是逻辑上的概念,是Kafka实现单播和广播两种消息模型的手段.同一个topic的数据,会广播给不同的group:同一个group中的worker,只有一个worker能拿到这个数据.换句话说,对于 ...
- 为什么线程通信的方法 wait(), notify()和 notifyAll()被定 义在 Object 类里?
Java 的每个对象中都有一个锁(monitor,也可以成为监视器) 并且 wait(),notify() 等方法用于等待对象的锁或者通知其他线程对象的监视器可用.在 Java 的线程中 并没有可供任 ...
- MySQL 中有哪些不同的表格?
共有 5 种类型的表格: 1.MyISAM 2.Heap 3.Merge 4.INNODB 5.ISAM
- 简单描述 MySQL 中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面) ?
索引是一种特殊的文件(InnoDB 数据表上的索引是表空间的一个组成部分),它们 包含着对数据表里所有记录的引用指针. 普通索引(由关键字 KEY 或 INDEX 定义的索引)的唯一任务是加快对数据的 ...
- Vue报错之"[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead......"
一.报错截图 [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the p ...