• Pycharm+pytest+allure打造高逼格的测试报告


    环境前置提示:allure是基于Java的一个程序,需要Java1.8的环境,没有安装需要去安装一下。

    如果在cmd中能输入java,获取到命令信息则不管,否则需要配置系统变量:

    路径:计算机>属性>高级>环境变量

    在系统变量添加

    JAVA_HOME D:SoftwareJDK8(改为自己的实际路径)

    在Path中追加(没有则新建)

    %JAVA_HOME%in;%JAVA_HOME%jrein;

    打造高逼格的测试报告

    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.1allure-2.13.1in;

    点击确定,保存。此时可以通过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 eportallure_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:softcodexuexipytest>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:softcodexuexipytest
    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	est_allure_demo.py ..                                              [ 22%]
    case	est_x.py ......                                                    [ 88%]
    case	est_y.py .                                                         [100%]
    
    ============================== 9 passed in 0.21s ==============================
    

    执行完成后,在当前目录下,report目录会生成一个allure_raw的原始文件,这个只是测试报告的原始文件,不能打开成html的报告

    打开html的报告需要启动allure服务,启动命令如下

    allure serve report/allure_raw

    启动服务,它会自动给个端口,直接用默认浏览器打开了

    D:softcodexuexipytest>allure serve report/allure_raw
    Generating report to temp directory...
    Report successfully generated to C:UsersdellAppDataLocalTemp6056757827461248074allure-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

    人最大的问题是总是带着成见去看待人和事!
  • 相关阅读:
    Visual C# 2008+SQL Server 2005 数据库与网络开发 6.3 创建Crystal Reports应用程序
    Visual C# 2008+SQL Server 2005 数据库与网络开发6.1.2 报表服务组件
    Visual C# 2008+SQL Server 2005 数据库与网络开发第7章 使用数据库
    Visual C# 2008+SQL Server 2005 数据库与网络开发7.1.1 EMIS数据库
    Visual C# 2008+SQL Server 2005 数据库与网络开发6.2.1 创建报表应用程序
    Visual C# 2008+SQL Server 2005 数据库与网络开发 6.2 报表应用程序
    Visual C# 2008+SQL Server 2005 数据库与网络开发 6.4 小结
    Visual C# 2008+SQL Server 2005 数据库与网络开发7.1.2 连接数据库
    Visual C# 2008+SQL Server 2005 数据库与网络开发6.1.3 报表服务的安装
    【C#笔记】关于 Random类
  • 原文地址:https://www.cnblogs.com/liuyanhang/p/14596704.html
Copyright © 2020-2023  润新知