环境前置提示: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打造高逼格的测试报告的更多相关文章

  1. pytest + allure + jenkins 生成漂亮的测试报告

    pytest我在上一篇文章初始pytest中已有介绍,是一个很理想的Python测试框架.Allure是一款非常轻量级并且非常灵活的开源测试报告生成框架. 它支持绝大多数测试框架, 例如TestNG. ...

  2. Markdown打造高逼格博客

    这里首先假设读者你已经掌握了Markdown与GitHub的基本用法 如果不会, 请先自行百度或Google, 我目前还没写Markdown与GitHub的教程 看云只是一个推荐, 可以认为协助生成格 ...

  3. Zabbix+Grafana打造高逼格监控系统

    第一章 zabbix监控的意义 1.1 为什么要监控 业务安全性的保障 系统的保障 产品持续性的运行 1.2 监控的内容 1.3 zabbix的选择性 [x] 纯命令监控太局限性 [x] 监控三剑客( ...

  4. 打造一个高逼格的android开源项目——小白全攻略 (转)

    转自:打造一个高逼格的android开源项目 小引子 在平时的开发过程中,我们经常会查阅很多的资料,最常参考的是 github 的开源项目.通常在项目的主页面能看到项目的简介和基本使用,并且时不时能看 ...

  5. 【Python】使用Pytest集成Allure生成漂亮的图形测试报告

    前言 大概两个月前写过一篇<[测试设计]使用jenkins 插件Allure生成漂亮的自动化测试报告>的博客,但是其实Allure首先是一个可以独立运行的测试报告生成框架,然后才有了Jen ...

  6. Pytest测试框架(五):pytest + allure生成测试报告

    Allure 是一款轻量级.支持多语言的开源自动化测试报告生成框架,由Java语言开发,可以集成到 Jenkins. pytest 测试框架支持Allure 报告生成. pytest也可以生成juni ...

  7. Pytest单元测试框架——Pytest+Allure+Jenkins的应用

    一.简介 pytest+allure+jenkins进行接口测试.生成测试报告.结合jenkins进行集成. pytest是python的一种单元测试框架,与python自带的unittest测试框架 ...

  8. Pytest+Allure定制报告

    前言: 最近在研究接口自动化的框架,好的测试报告在整个测试框架起到至关重要的部分.终于被我发现一个超好用的报告框架,不仅报告美观,而且方便CI集成. 就是它,就是它:Allure Test Repor ...

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

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

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

随机推荐

  1. 【已解决】docker overlay2占用大量磁盘空间处理方法

    在使用docker容器的时候遇到了容量上的问题,做一个记录 处理方式1:在使用docker时,往往会出现磁盘空间不足,导致该问题的通常原因是因为docker中部署的系统输出了大量的日志内容. 此时,可 ...

  2. Yii AR事务操作

    Yii Ar事务操作,示例代码如下: $model=Post::model(); $transaction=$model->dbConnection->beginTransaction() ...

  3. uniapp 添加操作

    1 分析: 2 需要动态的向数据库中插入数据,既然要进行添加操作,就会触发一个点击的事件,所以我们的第一步就是要先绑定事件 3 向服务器进行请求接口操作,请求的方法为 'POST' 4 最后就是在me ...

  4. 判断是不是ie浏览器 加上ie11

    var b_version = navigator.appVersion; var version = b_version.split(";"); var trim_Version ...

  5. OpenCV简单实现AR需用到的算法函数介绍

    目前的AR需求(想要达到的目标) 公司目前的需求是要能够指定一个物体开始追踪,将一张预先准备好的图像覆盖在被追踪的物体上, 然后镜头偏转缩放各类操作,再转回来仍然可以识别到,并且同样依旧覆盖图片到先前 ...

  6. PI规划会,研发团队价值聚焦的一剂良方

    随着数字化建设如火如荼地推进,中大型企业的数字化建设团队规模也越来越大,团队规模的扩大一方面带来了更多产能与可能性,另一方面,不同的角色在不同的业务场景也带来了一些现实问题,例如: 作为CIO 或产品 ...

  7. 又跳槽!3年java经验offer收割机的面试心得

    中厂->阿里->字节,成都->杭州->成都 系列文章目录和关于我 0.前言 笔者在不足两年经验的时候从成都一家金融科技中厂跳槽到杭州阿里淘天集团,又于今年5月份从杭州淘天跳槽到 ...

  8. spring事务传递特性-REQUIRES_NEW和NESTED

    spring对于事务的实现的确是它的一大优点,节省了程序员不少时间. 关于事务,有许多可以聊的内容,例如实现方式.实现原理.传递特性等. 本文讨论传递特性中的REQUIRES_NEW,NESTED. ...

  9. 使用Python爬取公众号的合集内容

    使用Python爬取公众号的合集 前言 ...最近老是更新关于博客的文章,很久没更新其他的了,然后写一下如何爬取微信公众号里面的图片吧! 先看看微信公众号的样子吧: 我爬取的是公众号的合集内容 讲解 ...

  10. STM32 CubeMX 学习:004-PWM

    背景 上一讲,我们介绍了 STM32 CubeMX 学习:定时器 ,并示范了如何使用定时器来定时.这一讲我们来试试PWM(Pulse Width Modulation, 脉冲宽度调制),这是利用微处理 ...