定制报告需要先导入allure模块,再使用以下装饰器方法:

  • feature: 标注主要功能模块。
  • story: 标注feature功能模块下的分支功能。
  • description:在报告中显示用例描述。
  • step: 标注测试用例步骤。
  • issue && testcase:标注用例关联的链接。
  • attach: 添加一些附加内容到测试报告中。
  • severity: 标注测试用例的重要级别,包含blocker, critical, normal, minor, trivial 几个不同的等级。

feature && story

主要用于为用例分层级

import allure

@allure.feature("评论模块")
class TestComment: @allure.story("填写所有信息,点击提交,预期评论成功")
def test_001(self):
print("\n填写信息")
print("\n点击提交") @allure.story("不输入任何信息,点击提交,预期提示填写必填项")
def test_002(self):
print("\n点击提交")

报告样式如下:

description

用于在报告中增加用例描述信息,除了这个方法外,还可以在方法下使用3个引号的方式增加用例描述信息。

import allure

@allure.feature("评论模块")
class TestComment: @allure.story("填写所有信息,点击提交,预期评论成功")
@allure.description("用例描述...这样...那样...")
def test_001(self):
print("\n填写信息")
print("\n点击提交") @allure.story("不输入任何信息,点击提交,预期提示填写必填项")
def test_002(self):
"""用例描述...也可以...这样...那样"""
print("\n点击提交")

报告样式如下:

step

在报告中增加测试步骤的显示。

import allure

@allure.feature("评论模块")
class TestComment: @allure.story("填写所有信息,点击提交,预期评论成功")
@allure.description("用例描述...这样...那样...")
def test_001(self):
with allure.step("1、填写信息"):
print("\n填写信息")
assert 1 == 1
with allure.step("2、点击提交"):
print("\n点击提交")
assert 2 == 1 @allure.story("不输入任何信息,点击提交,预期提示填写必填项")
def test_002(self):
"""用例描述...也可以...这样...那样"""
print("\n点击提交")

报告样式如下:

issue && testcase

issue与testcase用于在报告中增加关联链接,用法基本一样,第1个参数为关联的url地址,第2个为缺省参数,作用是为地址的别名。

import allure

@allure.feature("评论模块")
class TestComment: @allure.story("填写所有信息,点击提交,预期评论成功")
@allure.description("用例描述...这样...那样...")
@allure.issue("http://www.baidu.com")
@allure.testcase("http://www.baidu.com", "百度一下")
def test_001(self):
with allure.step("1、填写信息"):
print("\n填写信息")
assert 1 == 1
with allure.step("2、点击提交"):
print("\n点击提交")
assert 2 == 1 @allure.story("不输入任何信息,点击提交,预期提示填写必填项")
def test_002(self):
"""用例描述...也可以...这样...那样"""
print("\n点击提交")

报告样式如下:

attach

在报告中添加一些附加内容,内容可以为文本信息、图片、文件等。

import allure

@allure.feature("评论模块")
class TestComment: @allure.story("填写所有信息,点击提交,预期评论成功")
@allure.description("用例描述...这样...那样...")
@allure.issue("http://www.baidu.com")
@allure.testcase("http://www.baidu.com", "百度一下")
def test_001(self):
with allure.step("1、填写信息"):
print("\n填写信息")
assert 1 == 1
with allure.step("2、点击提交"):
print("\n点击提交") # attach 添加文本信息
allure.attach("文本信息标注信息...", "别名")
# attach 可以添加图片
allure.attach.file(r"D:\Users\User\Desktop\图片管理\60-60.jpg", "图片", attachment_type=allure.attachment_type.JPG)
# attach 可以添加html文件
allure.attach.file(r"D:\Users\User\Desktop\图片管理\test.html", "html文件", attachment_type=allure.attachment_type.HTML) @allure.story("不输入任何信息,点击提交,预期提示填写必填项")
def test_002(self):
"""用例描述...也可以...这样...那样"""
print("\n点击提交")

报告样式如下:

severity

为测试用例的划分重要级别,包含blocker, critical, normal, minor, trivial 5个不同的等级。默认是normal级别。

import allure

@allure.feature("评论模块")
class TestComment: @allure.story("填写所有信息,点击提交,预期评论成功")
@allure.description("用例描述...这样...那样...")
@allure.issue("http://www.baidu.com")
@allure.testcase("http://www.baidu.com", "百度一下")
def test_001(self):
with allure.step("1、填写信息"):
print("\n填写信息")
assert 1 == 1
with allure.step("2、点击提交"):
print("\n点击提交") # attach 添加文本信息
allure.attach("文本信息标注信息...", "别名")
# attach 可以添加图片
allure.attach.file(r"D:\Users\User\Desktop\图片管理\60-60.jpg", "图片", attachment_type=allure.attachment_type.JPG)
# attach 可以添加html文件
allure.attach.file(r"D:\Users\User\Desktop\图片管理\test.html", "html文件", attachment_type=allure.attachment_type.HTML) @allure.severity("blocker")
def test_002(self):
pass @allure.severity("critical")
def test_003(self):
pass @allure.severity("minor")
def test_004(self):
assert 1 == 2

报告样式如下:

环境配置信息

在概览中查看环境配置默认是没有的。

若要在报告中增加环境信息需要在第一步生成的json文件中,增加一个environment.properties文件,文件内容如下样式:

systemVersion=win10
pythonVersion=3.8.5
allureVersion=2.13.9
baseUrl=http://192.168.1.x:8080
projectName=test

然后再执行并生成报告,报告样式如下:

在allure 1.X的中,可以通过一个以test开头的py文件来配置,该方法在 2.X已弃用,仅供了解:

报告样式如下:

Pytest_定制allure报告(12)的更多相关文章

  1. allure报告定制(pytest+jenkins)

    环境及安装可查看 pytest+jenkins安装+allure导出报告 要让allure报告更漂亮,更直观,需要在脚本中写入allure特性 一开始allure调用step().story().fe ...

  2. pytest+allure(allure-pytest基于这个插件)设计定制化报告

    一:环境准备 1.python3.6 2.windows环境 3.pycharm 4.allure-pytest 5.allure2.8.0 6.java1.8 allure-pytest快速安装 在 ...

  3. 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 ...

  4. 如何利用jenkins插件查看allure报告-----完整篇(解决404和无数据问题)

    背景: python3+appium+pytest+allure写了安卓的自动化脚本,在windows本机pycharm上跑通过后生成了allure报告.  公司jenkins搭建在linux服务器上 ...

  5. pytest系列(四)- pytest+allure+jenkins - 持续集成平台生成allure报告

    pytest是什么 pytest是python的一款测试框架,拥有unittest的功能并比它更丰富. allure是什么 有非常多的优秀的测试框架,但却是有非常少优秀的报告工具可以展示非常清楚的用例 ...

  6. pytest框架优化——将异常截屏图片加入到allure报告中

    痛点分析: 在做allure定制化的时候,关于附件添加这一块,我们在代码里可以添加我们准备好的附件,这里用图片,通过下面的方法就能实现 allure.attach(file, '图片描述', allu ...

  7. pytest框架之allure报告生成

    一.关于安装 allure是跟pytest一起集成使用的,所以需要同时安装pytest以及allure-pytest插件: pip install pytest pip install allure- ...

  8. pytest生成allure报告

    在pytest框架中可以用很多插件来生成测试报告,本文总结下怎么生成allure报告 allure allure是一款开源的,专门用来展示测试结果的一个工具,allure可以与很多的测试框架做集成,比 ...

  9. 移动自动化appium(2)- Allure报告使用详解

    6 Allure报告 6.1 Allure介绍 Allure是一个独立的报告插件,生成美观易读的报告,比之前的html好看,目前支持的语言:Java.PHP.Ruby.Python.C#等 6.2 A ...

随机推荐

  1. ES6(模板字符串,三点运算符,Symbol,iterator接口)

    模板字符串 作用:简化字符串的拼接 模板字符串必须用``包含 变化的部分使用${xxx}包含 对象的简写方式 同名的属性可以省略不写 可以省略函数的function 箭头函数 箭头函数的特点 箭头函数 ...

  2. 【HarmonyOS】【DevEco Studio】NOTE02 :Create a  “Hello World ”Application

    Author:萌狼蓝天 StudyTime:2021/12/06 Version:3.0 Beta1 包结构 src | --> resource 资源文件目录 | --> layout/ ...

  3. java多线程2:Thread中的方法

    静态方法: Thread类中的静态方法表示操作的线程是"正在执行静态方法所在的代码块的线程". 为什么Thread类中要有静态方法,这样就能对CPU当前正在运行的线程进行操作.下面 ...

  4. 06 - Vue3 UI Framework - Dialog 组件

    做完按钮之后,我们应该了解了遮罩层的概念,接下来我们来做 Dialog 组件! 返回阅读列表点击 这里 需求分析 默认是不可见的,在用户触发某个动作后变为可见 自带白板卡片,分为上中下三个区域,分别放 ...

  5. 如何查看Python的版本号

    一.如何查看Python的版本号 win+r输入cmd在输入:python --version回车即可

  6. ANTLR 语法设计

    下面学习如何编写语法. 如何定义语法规则 一种语言模式就是一种递归的语法结构. 我们需要从一系列有代表性的输入文件中归纳出一门语言的结构.在完成这样的归纳工作后,我们就可以正式使用ANTLR语法来表达 ...

  7. JDK ThreadPoolExecutor核心原理与实践

    一.内容概括 本文内容主要围绕JDK中的ThreadPoolExecutor展开,首先描述了ThreadPoolExecutor的构造流程以及内部状态管理的机理,随后用大量篇幅深入源码探究了Threa ...

  8. Linux 输入指令显示 command not found(未找到命令)解决办法

    问题摘要:当我在linux中安装了一个Nginx,最后需要检查是否安装成功的时候,输入了Nginx -v 提示未找到命令(服务器中英文提示为 command not found) 其他软件命令未找到问 ...

  9. Java面向对象~类和对象&方法,类方法

    面向对象 概念:     1.同一类事物的抽象描述,不是具体的    2.类和对象的关系:        类 是抽象的.        对象 是具体的.    3.对象的体征,称为"属性&q ...

  10. 总结Vue第一天:简单介绍、基本常用知识、辅助函数

    总结Vue第一天:简单介绍.基本常用知识.辅助函数 中文官网:https://cn.vuejs.org/v2/guide/syntax.html 遇到不熟悉的可以先看一下官网,然后再看一下一些别人写的 ...