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 ...
随机推荐
- Flink消费kafka
Flink消费Kafka https://blog.csdn.net/boling_cavalry/article/details/85549434 https://www.cnblogs.com/s ...
- Java——spring中session的获取
获得session public static HttpServletRequest getSession(){ return ((ServletRequestAttributes) RequestC ...
- DHCP协议简析
推荐这篇文章,原理及抓包都分析的很好: **推荐这篇文章,原理及抓包都分析的很好:** https://blog.csdn.net/andy_93/article/details/78238931 简 ...
- redis不重启,切换到RDB备份到AOF备份
redis不重启,切换RDB备份到AOF备份 确保redis版本在2.2以上 查看redis版本 redis-server -v 实验环境准备 本文是在redis4.0中,通过config set命令 ...
- sql server 2000 单主键高效分页存储过程 (支持多字段排序)
sql server 2000 单主键高效分页存储过程 (支持多字段排序) Create PROC P_viewPage /* nzperfect [ ...
- 解决Flash CS6初始化字体就自动退出
系统win7 问题始于安装了同事的字体,启动Flash CS6时界面上显示开始初始化字体...然后 就自动退出了 尝试过进入pe系统删除字体,可是删除不了 网上搜索找到了这一个删除字体的工具FontF ...
- Lock 与 Synchronized 的区别?
首先两者都保持了并发场景下的原子性和可见性,区别则是synchronized的释放锁机制是交由其自身控制,且互斥性在某些场景下不符合逻辑,无法进行干预,不可人为中断等.而lock常用的则有Reentr ...
- mac phpStrom 卸载
cd ~/Library/Logs/cd ~/Library/Application\ Supportcd ~/Library/Preferences/cd ~/Library/Caches/
- jQuery--事件案例(鼠标提示)
1.文字提示 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
- 为什么 redis 需要把所有数据放到内存中?
答Redis 为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数 据写入磁盘.所以 redis 具有快速和数据持久化的特征.如果不将数据放在内存中, 磁盘 I/O 速度为严重影响 redi ...