pytest+allure(pytest-allure-adaptor基于这个插件)设计定制化报告
一:环境准备
- 1.python3.6
- 2.windows环境
- 3.pycharm
- 4.pytest-allure-adaptor
- 5.allure2.8.0
- 6.java1.8
pytest-allure-adaptor快速安装
在cmd中输入 pip install pytest-allure-adaptor,回车
二:报告生成
第1步:下载allure.zip,下载地址:allure-github: https://github.com/allure-framework/allure2 ,找到对应版本,并下载
第2步:解压allure.zip,将路径添加环境变量,path中,记得需要重启电脑
第3步:验证allure,在cmd中输入allure,然后回车,如果可以看到一下,说明配置完成
第4步:运行测试用例 pytest.main(["-m","login","-s","-q","--alluredir","./report"])
"-m": 标记用例
"login": 被标记需要执行用例
"-s":允许终端在测试运行时输出某些结果,例如你想输入print的内容,可以加上-s
"-q"简化输出结果
"--alluredir": 生成allure指定语法
"./report":生成报告的路径
"--clean-alluredir" :因为这个插件库allure-pytest生成的报告文件,你第二次运行时候不会清理掉里面的东西,所以你需要删除这个report文件夹,然后运行重新新建reoprt文件夹
说明:运行后,会在report文件夹里面生成文件
三.allure定制化报告
第1步:一些词语解释
一、feature: 标注主要功能模块。
二、story: 标注Features功能模块下的分支功能。
三、severity: 标注测试用例的重要级别。
1)blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)
2)critical级别:临界缺陷(功能点缺失)
3)normal级别:正常 默认为这个级别
4)minor级别:次要缺陷(界面错误与UI需求不符)
5)trivial级别:轻微缺陷(必输项无提示,或者提示不规范)
四、step: 标注测试用例的重要步骤。
五、attach:用于向测试报告中输入一些附加的信息,通常是一些测试数据信息。
1)name就是附件名称,contents就是附件,type就是传类型
2)附件支持的类型(TEXT,HTML,XML,PNG,JPG,JSON,OTHER)
六、issue:这里传的是一个连接,记录的是你的问题。
七、testcase:这里传的是一个连接,记录的是你的用例。
八、environment:标记用例运行的环境。
九、description:描述用例信息
注意:因为是使用这个插件pytest-allure-adaptor,所以需要@allure.MASTER_HELPER.方法(其中MASTER_HELPER是AllureHelper()的实例化对象,需要@allure.MASTER_HELPER再调用里面的方法)
第2步:代码展示+报表展示
feature方法的演示
代码:
报表展示:
story方法的演示
代码:
报表展示:
severity方法的演示:
代码:
报表展示:
setp方法的演示:
1.总的步骤备注
代码:
报告展示:
2.分步骤备注
代码:
报表展示:
attach方法的演示:
代码:
报表展示:
图片附件形式:
代码:
报表展示:
issue和testcase方法的演示:
代码:
报表展示:
environment 方法的演示:
代码:(里面传的参数可以自己定义)
报告演示:
description方法的演示:
代码:(这两种备注方式不能同时是存在,如果同时存在他会先使用description的,而不取3引号的)
报告演示:
第3步:运行可能存在的问题
添加@allure.MASTER_HELPER.story()等标记后运行报错:MarkInfo objects are deprecated as they contain merged marks which are hard to deal with correctly.
解决方法:
第一种:可以修改源码 from allure import utils 找到这个方法下面的label_os方法,修改下面的代码为红色圈住的地方。
2.第二种:可以直接在运行时候,添加"-p","no:warnings",这样就不会出现错误。pytest.main(["-p","no:warnings","--alluredir=./report","-v"]) 或者终端运行 pytest -p no:warnings -s --alluredir=./report
四.报告显示
报告显示方法一:
第1步:以上运行之后,可以在CMD中运行命令
allure generate report -o html
report是alluredir生成的xml目录,html是最终生成html的目录
第2步:运行命令后,可以在html路径下看到生成的数据,其中index.html就是我们要的allure报告,你可以在pycharm里面打开,报告展示如下
报告显示方法二(这种相当于是调试):
第1步:以上运行之后,可以在CMD中运行命令
allure serve report (report是alluredir生成的xml目录)
运行后,浏览器会自动跳转到allure report界面
四.pytest+allure+jenkins集成
参考我另外的一个博客文章:https://www.cnblogs.com/hao2018/p/11135180.html
注意:在本地运行的时候需要手动把代码拷贝到jenkins目录下面的workspace文件夹里面;如果在git或svn上运行,jekins会直接把代码拷贝到workspace目录 ,如果jenkins是指定工作目录就不用管了
pytest+allure(pytest-allure-adaptor基于这个插件)设计定制化报告的更多相关文章
- pytest+allure(allure-pytest基于这个插件)设计定制化报告
一:环境准备 1.python3.6 2.windows环境 3.pycharm 4.allure-pytest 5.allure2.8.0 6.java1.8 allure-pytest快速安装 在 ...
- 网易云基于 Kubernetes 的深度定制化实践
本文由 网易云发布. 2017 年,Kubernetes 超越 Mesos 和 Docker Swarm成为最受欢迎的容器编排技术.网易云从 2015 下半年开始向 Kubernetes 社区贡献代 ...
- Maven 教程(20)— 使用maven-assembly-plugin插件来定制化打包
原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79777976 简单的说,maven-assembly-plugin 就是用来帮助 ...
- solr特点三: 基于Solr实现排序定制化参考
排序实现有N种形式,最低成本.最快响应时间是目标 一份索引,支持N种排序策略并且在线互不干扰是要考虑的每一种实现,处理的场景是不同的,不要千篇一律 020排序,从索引到效果,有不少坑,这篇文章没有细说 ...
- ERP_基于Oracle ADF的定制化企业级IT系统解决方案
2014-12-31 Created By BaoXinjian
- Yoshino: 一个基于React的可定制化的PC组件库
Github: https://github.com/Yoshino-UI... Docs: https://yoshino-ui.github.io/#/ Cli-Tool: https://git ...
- pytest+jenkins安装+allure导出报告
环境安装: windows7+64位 pytest:4.0.2 allure的安装:allure的python库pytest-allure-adaptor jenkins的安装:2.138.2 JDK ...
- Allure+pytest 生成测试报告
简介: python 主流自动化测试报告插件有三个:HTMLTestRunner.BeautifulReport 和 Allure.HTMLTestRunner是一个比较古老的报告模板,界面也不是很好 ...
- Pytest单元测试框架-allure测试报告
Allure Test Report 对于不同的编程语言,有很多很酷的测试框架.不幸的是,它们中只有少数能够提供测试执行输出的良好表示.Qameta软件测试团队正在致力于Allure--一个开源框架, ...
随机推荐
- 小杨排队(dp)
链接:https://ac.nowcoder.com/acm/contest/3667/J 题目描述 小阳想要买个东西,然后就去了商店,发现进商店需要排队(生意太火爆!),然后就开始漫长的等待,他觉得 ...
- 【译】高级T-SQL进阶系列 (七)【上篇】:使用排序函数对数据进行排序
[译注:此文为翻译,由于本人水平所限,疏漏在所难免,欢迎探讨指正] 原文链接:传送门. 什么是排序函数(Ranking Functions)? 排序函数基于一组记录的集合返回一个排序值.一个排序值其实 ...
- C# worksheet设置Excel样式(转载)
1.例子导出Excel的样式public void Exportdatagridviewtoexcel(string Textname) { SaveFileDialog savedialog = n ...
- docker aufs存储驱动文件系统
Docker aufs存储驱动layer.diff.mnt目录的区别 /var/lib/docker/aufs layer子目录: 镜像.镜像历史列表.容器.容器INIT分别有对应的文件.文件名和di ...
- Python:面向对象基础
基本理论 什么是对象 万物皆对象 对象是具体的事物 拥有属性.行为 把许多零散的东西,封装成为一个整体 Python中一切东西都是对象,Python是一门特别彻底的面向对象编程语言(OOP) 其他编程 ...
- PowerDesigner每点击一次就会提示打印错误对话框
把服务启用了就好了: 重启软件
- ML 是什么意思?
ML到底是什么意思? 1.(ML)machine language机器语言,makeup language.参见:ML语言: 通用的函数式编程语言. 2.(ML)machine learning,人工 ...
- 爬虫必备工具-chrome 开发者工具
在某个网站上,分析和抓取数据,我们用的最多的工具就是 Chrome 开发者工具 01 元素面板 通过元素(Element)面板,我们能查看发哦想抓取页面渲染内容所在的标签.使用什么 CSS 属性(例如 ...
- Beego Learning Notes
Beego框架学习 1.1软件框架 一个公司是由公司中的各部部门来组成的,每一个部门拥有特定的职能,部门与部门之间通过相互的配合来完成让公司运转起来. 一个软件框架是由其中各个软件模块组成的,每一个模 ...
- 从蜘蛛侠到仙剑,为何知名IP都要开发VR游戏?
去年3月底斯皮尔伯格指导的<头号玩家>上映,为全球玩家和影迷塑造出一个庞大.刺激而又真实无比的虚拟游戏世界--"绿洲".电影上映后,在人们感叹斯皮尔伯格旺盛的艺术想象力 ...