Allure的简单使用

1.Allure简介

简单的理解下,可以把Allure当成一个用于生成美观测试报告的开源工具,配合Pytest测试框架使用更佳。

也就是说,Allure是在Pytest执行测试用例结束后生成的测试数据的基础上,对测试数据进行进一步处理、统计,生成格式统一、美观的测试报告,并通过HTML展示。

2.用例描述

使用方法 参数值 参数说明
@allure.epic() epic描述 定义项目、当有多个项目时使用。
@allure.feature() 模块名称 用例按照模块区分,有多个模块时给每个模块起个名字
@allure.story() 用例名称 对于一个用例的描述
@allure.title() 用例标题 一个用例的标题
@allure.testcase() 测试用例的连接地址 自动化用例对应的功能用例存放系统的路径
@allure.issue() 缺陷地址 对应缺陷管理系统里面的缺陷地址
@allure.description() 用例描述 对测试用例ide详细描述
@allure.step() 操作步骤 测试用例的操作步骤
@allure.severity() 用例等级 blocker\critical\normal\minor\trivial
@allure.link() 定义连接 用于定义一个需要在测试报告中展示的链接
@allure.attachment 附件 添加测试报告附件

3.Pytest集成Allure

Allure要生效需要在测试文件和测试通配文件(conftest.py)中配置Allure,具体见示例项目地址根目录下conftest.py文件

├─api_src 接口与接口串联
│ ├─apis 接口
│ │ └─question 一个功能模块
│ └─process 处理过程
│ └─question
├─data_io
| ├─allure
| ├─report 测试报告
│ └─result 结果数据
├─page 页面测试
├─test_case 测试用例
│ └─modules 多模块
│ ├─question
│ ├─question_batch
│ └─report
├─test_data 测试数据
│ ├─original 原始.har数据
│ └─question yml数据
└─utils 封装的工具类
class TestQuestion(BasicCase):
@allure.feature("题库管理")
@allure.story("题目-增查删改")
@pytest.mark.all
@pytest.mark.question
def test_question_add_search_update_delete(self):
logger.info("==============Case:[题目-增查删改]开始执行==============")
question_process.question_add_search_update_delete()
logger.info("==============Case:[题目-增查删改]结束执行==============")

4.生成测试报告

if __name__ == '__main__':
result_path, report_path = config.allure_report_path()
test_case = config.get_test_case_path()
# pytest生成测试报告
pytest.main(["-vs", test_case, "-m question_batch", "--env=admin", "--isc=False", "--is_vc=True",
"--email=False",
"-sq", "--alluredir", result_path])
# allure生成测试报告
os.system("allure generate {} -o {} --clean ".format(result_path, report_path))
# 打开测试报告
os.system("allure open {}".format(config.report_path()))

Allure的简单使用的更多相关文章

  1. 环境搭建之allure的安装配置,及简单使用

    环境准备 首先是要安装好jdk的电脑上,运行java.javac这些命令都没有问题,要不安装allure时会报错 下载allure 如果直接用Jenkins上的插件,并不需要下载安装 allure官网 ...

  2. 接口自动化框架(Pytest+request+Allure)

    前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 接口自动化包含2个部分,功能性的接口自动化测试和并发接口自动化测试. 本次文章着重介绍第一种, ...

  3. 如何简单实现接口自动化测试(基于 python) 原博主地址https://blog.csdn.net/gitchat/article/details/77849725

    如何简单实现接口自动化测试(基于 python) 2017年09月05日 11:52:25 阅读数:9904 GitChat 作者:饿了么技术社区 原文:如何简单实现接口自动化测试(基于 python ...

  4. 【转】自动化测试框架: pytest&allure ,提高自动化健壮性和稳定性

    序 在之前,我写过一个系列“从零开始搭建一个简单的ui自动化测试框架(pytest+selenium+allure)”,在这个系列里,主要介绍了如何从零开始去搭建一个可用的自动化工程框架,但是还缺乏了 ...

  5. 【测试设计】使用jenkins 插件Allure生成漂亮的自动化测试报告

    前言 以前做自动化测试的时候一直用的HTMLTestRunner来生成测试报告,后来也尝试过用Python的PyH模块自己构建测试报告,在后来看到了RobotFramework的测试报告,感觉之前用的 ...

  6. appium+pytest+allure+jenkins 如何实现多台手机连接

    使用appium可以实现app自动化测试,我们之前是连接一台手机去运行,如何同时连接多台手机呢?很多人可能想到的是多线程(threading).今天分享一种比多线程更简单的方法,虽然不是多台手机同时运 ...

  7. pytest+jenkins安装+allure导出报告

    环境安装: windows7+64位 pytest:4.0.2 allure的安装:allure的python库pytest-allure-adaptor jenkins的安装:2.138.2 JDK ...

  8. 浅谈如何提高自动化测试的稳定性和可维护性 (pytest&allure)

    装饰器与出错重试机制 谈到稳定性,不得不说的就是“出错重试”机制了,在自动化测试中,由于环境一般都是测试环境,经常会有各种各种的抽风情况影响测试结果,这样就为测试的稳定性带来了挑战,毕竟谁也不想自己的 ...

  9. Maven+TestNG+ReportNG/Allure接口自动化测试框架初探(上)

    转载:http://www.51testing.com/html/58/n-3721258.html 由于一直忙于功能和性能测试,接口自动化测试框架改造的工作被耽搁了好久.近期闲暇一些,可以来做点有意 ...

随机推荐

  1. Dos系统操作小技巧汇总(不定时更新)

    1.笔者发现有时候自己的程序取名如果太长的话,每次使用gcc编译的时候自己手打的话会非常痛苦,在dos下有一个非常方便的方法,那就是打出相关程序的前几个字母,然后就可以通过tab键来切换相关程序名,非 ...

  2. CS内网横向移动 模拟渗透实操 超详细

    @Webkio 前言: 最近在跟朋友搞一些项目玩,所以最近没怎么更新内容接下来我将在虚拟中模拟内网多层靶场,进行内网渗透实验,超详细,适合小白.本文仅供网安学习,不可利用于未授权渗透工作中,否则后果自 ...

  3. 基于WPF重复造轮子,写一款数据库文档管理工具(一)

    项目背景 公司业务历史悠久且复杂,数据库的表更是多而繁杂,每次基于老业务做功能开发都需要去翻以前的表和业务代码.需要理解旧的表的用途以及包含的字段的含义,表少还好说,但是表一多这就很浪费时间,而且留下 ...

  4. Python3.7+jieba(结巴分词)配合Wordcloud2.js来构造网站标签云(关键词集合)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_138 其实很早以前就想搞一套完备的标签云架构了,迫于没有时间(其实就是懒),一直就没有弄出来完整的代码,说到底标签对于网站来说还是 ...

  5. Linux 用户管理相关命令

    1 sudo adduser username # 添加用户 2 sudo adduser --system username # 添加系统用户 3 sudo deluser username # 删 ...

  6. ROS机械臂 Movelt 学习笔记4 | Move Group 接口 Python

    Python 的使用总是比 C++ 简单许多,Move Group 的 Python 接口更为便捷,也为使用者提供了很多用于操纵机器人和机械臂的函数,能够和 C++ 接口实现相同的功能: 设置机械臂的 ...

  7. Redis常用指令之string、list、set、zset、hash

    Redis之五大类型常用指令 redis的一些小知识 redis服务器端口默认是6379 在编译完成后的bin目录下启动服务端:redis-server 客户端连接操作:redis-cli -h lo ...

  8. Mybatis介绍、使用IDEA快速入门

    1. Mybatis概念 MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发 JavaEE三层架构:表现层.业务层.持久层 JDBC 与 MyBatis 对比: MyBatis 本是 A ...

  9. React报错之React hook 'useState' cannot be called in a class component

    正文从这开始~ 总览 当我们尝试在类组件中使用useState 钩子时,会产生"React hook 'useState' cannot be called in a class compo ...

  10. [CF1519C] Berland Regional (数论分块)

    题面 有 n 个学生和 n 所大学,每个学生在其中一所大学中学习,且各有一个能力值 s i s_i si​ . 某次组队打比赛的召集令会给一个数字 k ,表示团队数量.然后每所大学会先把自己的所有学生 ...