zoukankan      html  css  js  c++  java
  • pytest十六:allure2 生成 html 报告

    allure 是一个 report 框架,支持 java 的 Junit/testng 等框架,当然也可以支持 python 的 pytest 框架,也可以集成到 Jenkins 上展示高大上的报告界面。

    环境准备
    1.python3.6
    2.windows 环境
    3.pycharm
    4.pytest-allure-adaptor
    5.allure2.7.0
    6.java1.8


    pytest-allure-adaptor 下载
    pip 安装 pytest-allure-adaptor,github 地址 https://github.com/allure-framework/allure-pytest
    > pip3 install pytest-allure-adaptor


    生成 xml 报告
    > pytest -s -q --alluredir report
    如果不指定路径,默认在当前目录下新建一个 report 目录,当然也可以指定路径
    > pytest -s -q --alluredir 指定 report 路径
    执行完之后打开 report 文件夹,会自动生成 xml 格式的报告


    安装 Command Tool
    allure 的版本目前有 2 个,从 github 上看,allure1 不再被支持,请考虑使用 allure2 https://github.com/allure-framework/allure2替代


    allure-commandline releases 版本 https://github.com/allure-framework/allure2/releases


    下载最新的 Download allure2.7.0 版本
    [下载 Download allure2.7.0 地址:https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.7.0/allure-2.7.0.zip]
    (https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.7.0/allure-2.7.0.zip)

     


    下载好之后,解压到运行 pytest 的目录下
    打开allure-2.7.0in 文件夹,会看到 allure.bat 文件,将此路径设置为系统环境变量 path 下,这样 cmd 任意目录都能执行了

     




    运行 allure2
    前面 pytest -s -q —alluredir 这一步已经生产了 xml 格式的报告,
    放到了 report 目录下,接着执行以下命令格式
    > allure generate directory-with-results/ -o directory-with-report
    directory-with-results 是 alluredir 生成的 xml 目录,
    directory-with-report 是最终生成 html 的目录
    allure.bat 已经加到环境变量了,所以可以用相对路径去生成 html报告
    > allure generate report/ -o report/html

     


    打开报告
    直接找到 report/html 打开 index.html 会显示一个空的报告,这里用 pycharm 去打开




    依赖 java 环境 (搭建java环境自行百度)
    之前用的 jdk1.7 版本,执行 allure 时候报错:Unsupported major.minor VERSION 51.0
    由于 allure2 是 java 开发的,需要依赖 java 环境,解决办法:jdk 版本用 1.8 就可以了



    如果前学过 unittest 框架的应该知道,unittest 框架用个痛点,用例不用例之间的独立的,不能跨脚本运行数据共享。比如 test_01.py的 driver,不能共享到 test_02.py 上。这样会导致一个问题,每次运行一个.py 的脚本用例,会重复打开浏览器,浪费比较多的时间。

    pytest 框架就能很好的解决这个问题,只需在 conftest.py 设置一个前置的 fixture 功能,设置为 session 级别,返样所有的用例之间都能共享 driver 了。
  • 相关阅读:
    分享微云普通用户不限速下载方法
    PS基础之移动工具和分布对齐
    操作系统的概念、功能和目标
    又拍云+PicGo搭建图床教程
    05 数组
    04 循环结构
    02 数据类型_变量_运算符_表达式
    03 流程控制
    05 方法_递归
    win7下使用telnet的方法
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/9690978.html
Copyright © 2011-2022 走看看