• pytest+allure生成测试报告


    pytest框架使用

    一、安装插件

    #常用安装插件
    pytest
    pytest-html (生成html格式的自动化测试报告)
    pytest-xdist (测试用例分布式执行,多cpu分发)
    pytest-ordering(用于改变测试用例的执行顺序)
    allure-pytest(用于生成美观的测试报告)
    pytest-rerunfailures(用例失败后重跑)

    二、pytest默认规则

    • 模块名必须以test_开头或者_test结尾
    • 测试类必须以Test开头,并且不能有__init__方法
    • 测试方法必须以test开头

    三、Pytest测试用例执行方式

    1. 主函数模式
    • 运行所有:pytest.main()
    • 指定模块:pytest.main([‘-vs’,‘test_login.py’])
    • 指定目录:pytest.main([“-vs”,“testcase”])
    • 通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成
      有多条用例可以用逗号隔开
      pytest.main([“-vs”,“./interface_testcase/test_interface.py::Testinterface::test_03_zhiliao”])
    1. 命令行模式
    • 运行所有:pytest 指定模块:pytest -vs
    • test_login.py 指定目录:pytest -vs ./interface_testcase/test_login.py
    • 指定nodeid:pytest -vs ./interface_testcase/test_interface.py::Testinterface::test_03_zhiliao

    四、参数详解

    -s:表示输出调试信息,包括print打印的信息
    -v:显示详细信息
    -vs:一般这两个参数一起使用
    -n:支持多线程或分布式运行测试用例例如:pytest -vs ./testcase/test_login.py -n 2
    例如:pytest.main([“-vs”, “./test_login.py”, “-n=2”])–return:失败用例重跑
    -x:表示只要一个用例报错,就停止测试
    –maxfail=2:出现两个用例失败就停止
    -k:根据测试用例的部分字符串指定测试用例例如:pytest -vs -k “te”

    pytest+allure测试报告生成

    一、安装allure并配置环境变量

    Allure 是一款轻量级、支持多语言的开源自动化测试报告生成框架

    1. allure包下载:https://github.com/allure-framework/allure2/releases
    2. 解压 -> 进入bin目录 -> 运行allure.bat
      在这里插入图片描述
    3. 把bin目录加入PATH环境变量
      在这里插入图片描述

    二、安装 allure-pytest插件

    在pycharm的控制台执行命令

    pip install allure-pytest
    
    • 1

    安装成功后需要重启一下pycharm
    在这里插入图片描述

    三、生成测试报告

    1. 在控制台用命令执行
    2. 先执行测试用例并指定测试结果存放地址
    Pytest -vs [测试用例的路径] --alluredir=[指定存储测试结果的路径]
    pytest -vs ./test_case/test_case_anli/test_anli_vip_right.py --alluredir=./test_report/3
    
    • 1
    • 2

    在这里插入图片描述

    1. 打开报告
      方式一:直接打开默认浏览器展示报告
    allure serve ./test_report/3
    
    • 1

    在这里插入图片描述

    点击生成的报告地址,可以直接打开报告

    方式二:从结果生成报告

    allure generate [测试结果地址] -o [指定测试报告地址] --clean
     allure generate ./test_report/3 -o ./report/ --clean #覆盖路径加–clean
    
    • 1
    • 2

    执行完成后,可以在指定的测试报告路径下点击index.html 打开测试报告
    在这里插入图片描述
    在这里插入图片描述

    1. 在代码中执行
    import os
    import pytest
    import allure
    
    if __name__ == '__main__':
        path = os.path.dirname(os.path.dirname(__file__))  # 项目路径
        alluredir = os.path.join(path, "test_report","allure_raw") #测试结果的路径,没有会自动创建一个
        allure_report = os.path.join(path, "test_report","allure_report") #测试报告,没有会自动创建一个
        #执行参数
        param = ['-vs',
                 f'--alluredir={alluredir}',#生成allure报告
                 "./test_case_anli/test_anli_vip_right.py::TestCaseAnliRight::test_login", #测试用例路径
                 ]
        pytest.main(param)
        os.system(f"allure generate {alluredir} -o {allure_report} --clean")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在这里插入图片描述

    代码执行后,点击测试报告下的index.html可以查看测试报告

  • 相关阅读:
    智能便捷|AIRIOT智慧充电桩管理解决方案
    D-Bus:busctl的使用
    基于Docker搭建Redis集群并进行扩容、缩容教程
    C和C++导出DLL后在Csharp中调用函数名的差异
    SQL堆叠注入详解
    图解2022年城市人口迁移趋势
    【GESP】2023年06月图形化三级 -- 自幂数判断
    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
    2001-2022年上市公司供应链研究数据大全
    【英语口语】01 - 原子介绍
  • 原文地址:https://blog.csdn.net/qq_40480758/article/details/133763330