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用法(一)-配置信息及基本用法的更多相关文章

  1. spring读取数据库的配置信息(url、username、password)时的<bean>PropertyPlaceholderConfigurer的用法

    用法1: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://w ...

  2. springcloud(五):Spring Cloud 配置中心的基本用法

    Spring Cloud 配置中心的基本用法 1. 概述 本文介绍了Spring Cloud的配置中心,介绍配置中心的如何配置服务端及配置参数,也介绍客户端如何和配置中心交互和配置参数说明. 配置中心 ...

  3. 使用Apache Commons Configuration读取配置信息

    在项目中使用一些比较新的库总会给你带来很多快乐,在这篇文章中,我将会给你介绍一个在Java中读取配置文件的框架——Apache Commons Configuration framework. 你会了 ...

  4. SEO配置信息操作文档

    一.title(网站标题) title,就是浏览器上显示的那些内容,不仅用户能看到,也能被搜索引擎检索到(搜索引擎在抓取网页时,最先读取的就是网页标题,所以title是否正确设置极其重要.)title ...

  5. 深入理解MyBatis框架的的配置信息

    面对一个框架,最重要的不是说回用其代码就可以了,我们需要了解其思想,这样才能更快更好的掌握这个框架.而对于一个框架,最重要的就是其配置文件的作用及功能了.下面,我就来谈一谈我今天遇到的这个MyBati ...

  6. Mybatis配置信息浅析 MyBatis简介(二)

    官方文档入门篇中有明确说明 每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的. SqlSessionFactory 的实例可以通过 SqlSessionF ...

  7. jenkins 备份配置信息

    本文介绍几种备份jenkin配置信息的方法,大家可根据实际情况做出选择. 我的测试环境如下: windows 7 jenkins 2.32.3 ____升级到___2.46.3 (长期支持版本) 多种 ...

  8. [转帖]IIS内虚拟站点配置信息说明

    web.config配置详细说明 https://www.cnblogs.com/zhangxiaolei521/p/5600607.html 原作者总结的很详细 但是没有完全的看完 自己对IIS 的 ...

  9. vuejs目录结构启动项目安装nodejs命令,api配置信息思维导图版

    vuejs目录结构启动项目安装nodejs命令,api配置信息思维导图版 vuejs技术交流QQ群:458915921 有兴趣的可以加入 vuejs 目录结构 build build.js check ...

随机推荐

  1. maven——使用阿里云镜像

    1.在本地的仓库目录下找到settings.xml文件,添加 <mirrors> <mirror> <id>alimaven</id> <name ...

  2. 【混合编程】C/C++调用Fortran的DLL

    [混合编程]C/C++调用Fortran的DLL 以一个简单的加法器为例,介绍C/C++调用Fortran语言DLL的操作过程 一.Fortran操作 1.1 Fortran代码 首先是加法功能的实现 ...

  3. centos 在线安装 docker

    镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 在新主机上首次安装Docker Engine之前,需要设置Docker存储库.之后,您可以从存储库安装和更新Docker. 设置存储库 安装yu ...

  4. redis不重启,切换到RDB备份到AOF备份

    redis不重启,切换RDB备份到AOF备份 确保redis版本在2.2以上 查看redis版本 redis-server -v 实验环境准备 本文是在redis4.0中,通过config set命令 ...

  5. python神器 Jupyter Notbook

    python神器 Jupyter Notbook 简介 Jupyter Notebook是基于网页的用于交互计算的应用程序.其可被应用于全过程计算:开发.文档编写.运行代码和展示结果. Jupyter ...

  6. K8S原来如此简单(四)Service+Ingress

    上一篇我们通过deployment实现了pod的横向扩展,但是仍然不能负载,也不能对外提供服务,现在我们来看看如何通过k8s实现负载与外网访问 Service service为一组pod提供一个统一的 ...

  7. EasyUI 之datagrid 使用 【DataGrid属性解释】

    可选的参数 DataGrid 属性 覆写了 $.fn.datagrid.defaults. 参数名 类型 描述 默认值 title string Datagrid面板的标题 null iconCls ...

  8. 有没有想过String为什么设计为不可变对象

    1.声明为final类的目的: 主要目的就是保证String是不可变(immutable).不可变就是第二次给一个String 变量赋值的时候,不是在原内存地址上修改数据,而是重新指向一个新对象,新地 ...

  9. 什么是 Hystrix 断路器?我们需要它吗?

    由于某些原因,employee-consumer 公开服务会引发异常.在这种情况下使用Hystrix 我们定义了一个回退方法.如果在公开服务中发生异常,则回退方法返回一些默认值. 如果 firstPag ...

  10. Java 中会存在内存泄漏吗,请简单描述?

    理论上 Java 因为有垃圾回收机制(GC)不会存在内存泄露问题(这也是 Java 被 广泛使用于服务器端编程的一个重要原因):然而在实际开发中,可能会存在无 用但可达的对象,这些对象不能被 GC 回 ...