pytest+allure生成测试报告

news2024/10/6 22:22:37

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

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

三、生成测试报告

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

在这里插入图片描述

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

在这里插入图片描述

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

方式二:从结果生成报告

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

执行完成后,可以在指定的测试报告路径下点击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")

在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1090953.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

有趣的 scanf()

限制接收内容 这里的意思是直接收a、b、c作为ch的内容,遇到其它字符放入缓冲区中。 【scanf("%[...]",ch);只接收[]中的内容作为字符串的内容,将其它的内容放入缓冲区中】 这里将aaa后面的h放入缓冲区,但是没有抛弃掉,故而无法接收…

实现手机号码中间四位显示为*号方法

实现手机号码中间四位显示为*号方法: substring使用方法: 开始位置,结束位置(不包括结束) 下面的示例就是 截取0到3不包含3,中间4个*,从第7开始截取到最后 // 转换用户手机号let telephone t…

GPU -- 图形处理器(显卡)

目录 GPUGPU 的主要信息和功能显存位宽接口v-sync散热 GPU 显卡(Graphics Processing Unit,GPU)是计算机中的一种专门用于处理图形和图像相关任务的硬件设备。它是计算机图形和图像处理的关键组成部分,通常用于加速图形渲染、视频…

手把手教你基于windows系统使用GNVM进行node切换版本

GNVM是什么? GNVM 是一个简单的 Windows 下 Node.js 多版本管理器,类似的 nvm nvmw nodist 。 安装 进入官网,下载你所需要的包,直达链接 下载完成 放到我们的node环境包下,点击运行 请注意区分: 不存在 Node.js 环…

创意营销:初期推广的多种策略!

文章目录 🍊 预热🎉 制定预热计划和目标🎉 利用社交媒体传播🎉 创造独特的体验🎉 利用口碑营销🎉 定期发布更新信息🎉 案例说明 🍊 小范围推广🎉 明确目标用户群体&#…

[C++随想录] 继承

继承 继承的引言基类和子类的赋值转换继承中的作用域派生类中的默认成员函数继承与友元继承与静态成员多继承的结构棱形继承的结构棱形虚拟继承的结构继承与组合 继承的引言 概念 继承(inheritance)机制是面向对象程序设计使代码可以 复用的最重要的手段,它允许程序…

反弹Shell方法论

反弹Shell方法论 1.bash反弹shell2.Python 脚本反弹shell3.php反弹shell4.Java反弹shell5.perl 反弹shell6.Ruby脚本反弹shell7.利用nc反弹shell8.powershell反弹shell9.Socat反弹shell10.使用OpenSSL反弹加密shell11.反弹shell的本质 反弹shell命令查询 如果可以,尽…

2023年中国玉米淀粉糖市场现状及行业需求前景分析[图]

玉米淀粉糖是一种优良的可生物降解的天然高分子材料,也是近年来发展最快的淀粉深加工产品,淀粉糖是利用含淀粉质的农产品为原料,经过酸法、酸酶法或者双酶法水解制取的糖的统称,玉米淀粉糖的产品形式多种多样,目前&…

智能警用装备管理系统-科技赋能警务

警用物资装备管理系统(智装备DW-S304)是依托互云计算、大数据、RFID技术、数据库技术、AI、视频分析技术对警用装备进行统一管理、分析的信息化、智能化、规范化的系统。 (1)感知智能化 装备感知是整个方案的基础,本方…

python基于django的留学生服务管理平台

留学服务管理平台的用户是系统最根本使用者,按需要分析系统包括三类用户:学生、教师、管理员。这三类用户对系统的需求简要如下。技术栈 后端:pythondjango 前端:vueCSSJavaScriptjQueryelementui 开发语言:Python 框架…

向量数据库与传统数据库向量检索插件的区别?

向量数据库与传统数据库向量检索插件的区别 越来越多的传统关系型数据库和检索系统(如 Clickhouse、Elasticsearch等)开始提供内置的向量检索插件。 例如,Elasticsearch 8.0 支持通过 Restful API 来插入向量和开展 ANN 检索。但是,向量检索插件的问题显而易见——无法提供…

资源共享共赢系统应用

1.访问地址 http://www.gxcode.top/code 2.收益功能说明 上传共享收益资源信息,审核通过后获取收益。 3.具体操作如下图

更健康的不粘锅,用料扎实疏油疏水,帝伯朗零氟系列氧吧锅上手

做饭时,平底锅、汤锅、炒锅等锅具都经常用到,为了方便清理,很多人会选择不粘锅。不过在市面上的不粘锅质量良莠不齐,实际做饭的时候,因为要长时间高温使用,所以劣质的不粘锅很容易析出重金属、特氟龙等有害…

量子风险现在是真实存在的:如何应对不断变化的数据收集威胁

在数据安全至关重要的时代,清楚地提醒人们不断变化的威胁形势。黑客正在渗透路由器以及联网设备,以获得对国家网络的不可检测的后门访问权限。 这一事件凸显了数字基础设施中的漏洞,特别是数据在未知且通常是敌对的网络上传输时所面临的风险…

Vue鼠标右键画矩形和Ctrl按键多选组件

效果图 说明 下面会贴出组件代码以及一个Demo&#xff0c;上面的效果图即为Demo的效果&#xff0c;建议直接将两份代码拷贝到自己的开发环境直接运行调试。 组件代码 <template><!-- 鼠标画矩形选择对象 --><div class"objects" ref"objectsR…

【AI视野·今日NLP 自然语言处理论文速览 第五十二期】Wed, 11 Oct 2023

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 11 Oct 2023 Totally 81 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers LongLLMLingua: Accelerating and Enhancing LLMs in Long Context Scenarios via Prompt Compression Author…

Web3 招聘 | Bitget、MyShell、imToken、Arweave 多项目招聘中

「Web3 招聘」是 TinTinLand 为 Web3 项目和求职者创建的一个招聘信息汇集专栏。本栏目将持续更新区块链行业招聘信息&#xff0c;满足不同求职者与项目方的多样需求。欢迎各项目方联系 TinTinLand 发布职位需求&#xff0c;欢迎求职者关注 TinTinLand 获取最新招聘信息。 此外…

python(自5)scrapy下载安装 基本使用

一&#xff0c;安装下载 (1)安装步骤 ​ //安装包下载&#xff1a;Archived: Python Extension Packages for Windows - Christoph Gohlke (uci.edu) ​// 先下载对应的 twisted 然后 pip install 拖进twisted//例如&#xff1a; twisted_iocpsupport‑1.0.2‑cp311‑cp31…

人机交互中的信息数量与信息质量

在人机交互中&#xff0c;信息数量和信息质量是影响人机交互效果的两个重要因素。信息数量指的是系统向用户提供的信息总量&#xff0c;包括输入信息、反馈信息、展示信息、错误信息等&#xff0c;在合适的情况下越少越好&#xff1b;信息质量则是指信息的准确性、有效性、清晰…

十九、【减淡工具组】

文章目录 减淡工具加深工具海绵工具 减淡工具 减淡工具的作用就是把画笔涂抹过后的区域的颜色减淡&#xff0c;让这部分区域的颜色看起来更加白更加亮&#xff1a; 也可以采用新建空白图层&#xff0c;然后采用画笔工具&#xff0c;用涂抹中性灰的方式让其变亮&#xff0c;采…