Pycharm+pytest+allure打造高逼格的测试报告
环境前置提示:allure是基于Java的一个程序,需要Java1.8的环境,没有安装需要去安装一下。
如果在cmd中能输入java,获取到命令信息则不管,否则需要配置系统变量:
路径:计算机>属性>高级>环境变量
在系统变量添加
JAVA_HOME D:\Software\JDK8(改为自己的实际路径)
在Path中追加(没有则新建)
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

1、安装allure
alluer官网地址:http://allure.qatools.ru/
当前最新版本(allure-commandline-2.13.1.zip)下载地址:
https://github.com/allure-framework/allure2/releases/tag/2.13.1
下载解压后,把解压目录放到自定义存放路径,然后在系统变量(参见上面java设置)Path中追加:
~\放置目录\allure-commandline-2.13.1\allure-2.13.1\bin;
点击确定,保存。此时可以通过cmd使用allure命令,则安装配置正确。

2、安装allure-pytest
pip install allure-pytest
注意:如果环境装有多个python版本,需切换到pycharm当前使用的python下面进行安装。
使用命令 pip list 确认插件是否安装成功

最终环境清单:
- windows7 x64
- python3.7
- pycharm-professional-2019.3.1
- pytest 5.3.2
- allure-pytest 2.8.6
- allure-commandline-2.13.1
- java1.8
3、一个简单的用例test_simpe.py
import pytest
import allure
@allure.feature("测试Dome")
class TestClass:
@allure.story("测试用例 1")
def test_one(self):
x = "hello"
assert 'h' in x
@allure.story("测试用例 2")
def test_two(self):
x = "test"
assert hasattr(x, 'check')
4、在pycharm底部打开terminal
其中输入命令生成结果,命令格式:
pytest <测试目录> --alluredir <测试结果存放目录>
比如,我的文件夹目录如下

所以命令为:
pytest testcase --alluredir report/allure_raw

allure收集pytest运行后产出的结果放在 reportallure_raw 文件夹中
注意:这里的 allure_raw 文件夹只存放的是测试运行结果,还不是报告!报告还需要调用 allure 命令去生成。
当前结果是像这样的:

5、用allure美化报告
allure generate <allure测试结果目录>-o <运行结果的目录> <存放报告的目录> --clean
这里命令如下:
allure generate report/allure_raw -o report/allure_report --clean
通过上面的命令运行后,就会从 allure_raw 目录中将 pytest 运行的结果生成一个漂亮的报告,存放在 allure_report 中。
6、查看报告
在 pycharm 中可以选择index.html通过右键[ Open in Browser]就可以看到报告了

这里选择chrome浏览器打开,展示效果如下

注意:这里直接找到存放结果allure_report下的index.html打开,是看不到报告数据的
至此,漂亮报告是不是让人赏心悦目,陡然感觉高尚上起来了。
问题1:如果你不是用 Pycharm 的话,可以通过 allure 命令生成服务查看
allure open 报告路径
如:allure open D:\PYTEST eport\allure_report

将自动使用当前默认浏览器展示报告
问题2:过程中如果遇到AttributeError: module 'allure' has no attribute 'severity_level'问题
pip uninstall pytest-allure-adaptor
pip install allure-pytest
因为pytest-allure-adaptor和allure-pytest不能同时使用,需要卸载掉pytest-allure-adaptor。
另一种生成allure报告的方法
运行用例
cd到test_allure_demo.py所在的目录文件,命令行执行
pytest --alluredir ./report/allure_raw
D:\soft\code\xuexipytest>pytest --alluredir ./report/allure_raw
============================= test session starts =============================
platform win32 -- Python 3.6.0, pytest-4.5.0, py-1.5.4, pluggy-0.13.1
rootdir: D:\soft\code\xuexipytest
plugins: allure-pytest-2.8.6, forked-0.2, html-1.19.0, metadata-1.7.0, repeat-0.7.0, xdist-1.23.2
collected 9 items
case\test_allure_demo.py .. [ 22%]
case\test_x.py ...... [ 88%]
case\test_y.py . [100%]
============================== 9 passed in 0.21s ==============================
执行完成后,在当前目录下,report目录会生成一个allure_raw的原始文件,这个只是测试报告的原始文件,不能打开成html的报告

打开html的报告需要启动allure服务,启动命令如下
allure serve report/allure_raw
启动服务,它会自动给个端口,直接用默认浏览器打开了
D:\soft\code\xuexipytest>allure serve report/allure_raw
Generating report to temp directory...
Report successfully generated to C:\Users\dell\AppData\Local\Temp\6056757827461248074\allure-report
Starting web server...
2019-12-08 00:41:09.921:INFO::main: Logging initialized @2228ms to org.eclipse.jetty.util.log.StdErrLog
Server started at <http://192.168.1.125:35346/>. Press <Ctrl+C> to exit
查看报告
浏览器上打开的报告内容

点 EN 按钮可以查看中文报告

打开测试套件,可以查看报告的详情,显示的还是很详细的
内容整合来源:
http://www.51ste.com/share/det-862-1.html
https://www.cnblogs.com/yoyoketang/p/12004145.html
Pycharm+pytest+allure打造高逼格的测试报告的更多相关文章
- pytest + allure + jenkins 生成漂亮的测试报告
pytest我在上一篇文章初始pytest中已有介绍,是一个很理想的Python测试框架.Allure是一款非常轻量级并且非常灵活的开源测试报告生成框架. 它支持绝大多数测试框架, 例如TestNG. ...
- Markdown打造高逼格博客
这里首先假设读者你已经掌握了Markdown与GitHub的基本用法 如果不会, 请先自行百度或Google, 我目前还没写Markdown与GitHub的教程 看云只是一个推荐, 可以认为协助生成格 ...
- Zabbix+Grafana打造高逼格监控系统
第一章 zabbix监控的意义 1.1 为什么要监控 业务安全性的保障 系统的保障 产品持续性的运行 1.2 监控的内容 1.3 zabbix的选择性 [x] 纯命令监控太局限性 [x] 监控三剑客( ...
- 打造一个高逼格的android开源项目——小白全攻略 (转)
转自:打造一个高逼格的android开源项目 小引子 在平时的开发过程中,我们经常会查阅很多的资料,最常参考的是 github 的开源项目.通常在项目的主页面能看到项目的简介和基本使用,并且时不时能看 ...
- 【Python】使用Pytest集成Allure生成漂亮的图形测试报告
前言 大概两个月前写过一篇<[测试设计]使用jenkins 插件Allure生成漂亮的自动化测试报告>的博客,但是其实Allure首先是一个可以独立运行的测试报告生成框架,然后才有了Jen ...
- Pytest测试框架(五):pytest + allure生成测试报告
Allure 是一款轻量级.支持多语言的开源自动化测试报告生成框架,由Java语言开发,可以集成到 Jenkins. pytest 测试框架支持Allure 报告生成. pytest也可以生成juni ...
- Pytest单元测试框架——Pytest+Allure+Jenkins的应用
一.简介 pytest+allure+jenkins进行接口测试.生成测试报告.结合jenkins进行集成. pytest是python的一种单元测试框架,与python自带的unittest测试框架 ...
- Pytest+Allure定制报告
前言: 最近在研究接口自动化的框架,好的测试报告在整个测试框架起到至关重要的部分.终于被我发现一个超好用的报告框架,不仅报告美观,而且方便CI集成. 就是它,就是它:Allure Test Repor ...
- pytest+allure(allure-pytest基于这个插件)设计定制化报告
一:环境准备 1.python3.6 2.windows环境 3.pycharm 4.allure-pytest 5.allure2.8.0 6.java1.8 allure-pytest快速安装 在 ...
- 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 ...
随机推荐
- Vue cli之单文件组件
组件有两种:脚本化组件.单文件组件 脚本化组件的缺点: html代码是作为js的字符串进行编写,所以组装和开发的时候不易理解,而且没有高亮效果. 脚本化组件用在小项目中非常合适,但是复杂的大项目中,如 ...
- protoc-gen-go: error:inconsistent package names: , prototest
如果你已经安装proto ,以及go生成proto插件.但还是报这种错误,请看一下是否 protoc --go_out=./ *.proto 指令打错了
- vue-cli3 项目路由 history 模式部署到 nginx 服务器
1.项目修改vue.config.js增加 publicPath: '/' 2.nginx配置 location / {#访问前端页面 root /data/dist;#vue项目存放路径 index ...
- Windows Server系统 PaddleOCR失败解决方案
因PaddleOCR引用了Opencv,在windows server 上 使用opencv出现 DLL load failed错误,发现缺失部分dll:MFPlat.dll.MF.dll.MFRea ...
- 神经网络常见参数解释:epoch、batch、batch size、step、iteration
本文介绍在机器学习.深度学习的神经网络模型中,epoch.batch.batch size.step与iteration等名词的具体含义. epoch:表示将训练数据集中的所有样本都过一遍(且 ...
- nonatomic 带来的线程安全问题
一.结论 一个对象对外暴露的读写属性,如果这个属性在多个线程中访问,一定会出现crash. 因此对外暴露的属性一定要考虑线程安全问题. 二.看下面的代码 下面的代码一定会crash,除非obj是ato ...
- MYSQL 连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,错误信息:未将对象引用设置到对象的实例。
一: 中文提示 : 连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,错误信息:未将对象引用设置到对象的实例.DbType="MySql";ConfigId=&quo ...
- NFS练习
NFS练习题 1.开放/nfs/share目录,提供给 任意用户 只读(/etc/exports ro) 查询 1.任意客户端2.任意的用户 服务端 showmout exportfs system ...
- springmvc组件说明
DispatcherServlet:前端控制器,也称为中央控制器,它是整个请求响应的控制中心,组件的调用由它统一调度. HandlerMapping:处理器映射器,它根据用户访问的 URL 映射到对应 ...
- HBCK2修复hbase2的常见场景
上一文章已经把HBCK2 怎么在小于hbase2.0.3版本的编译与用法介绍了,解决主要场景 查看hbase存在的问题 一.使用hbase hbck命令 hbase hbck命令是对hbase的元数据 ...