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

安装成功后需要重启一下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 [指定测试报告地址] --cleanallure generate ./test_report/3 -o ./report/ --clean #覆盖路径加–clean

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

  1. 在代码中执行
import os
import pytest
import allureif __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.hqwc.cn/news/131126.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【工具】SSH端口转发管理器,专门管理SSH Port Forwarding

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 开源代码看这里:http://xfxuezhang.cn/index.php/archives/1151/ 背景介绍 有时候需要用到ssh的端口转发功能。目前来说,要么是cmd里手敲指令,但每次敲也太麻烦了;或…

Vue中的router路由的介绍(快速入门)

路由的介绍 文章目录 路由的介绍1、VueRouter的介绍2、VueRouter的使用(52)2.1、5个基础步骤(固定)2.2、两个核心步骤 3、组件存放的目录(组件分类) 生活中的路由:设备和ip的映射关系(路由器) V…

GRU的 电影评论情感分析 - python 深度学习 情感分类 计算机竞赛

1 前言 🔥学长分享优质竞赛项目,今天要分享的是 🚩 GRU的 电影评论情感分析 - python 深度学习 情感分类 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 这…

Spring AOP的失效场景

首先,Spring的AOP其实是通过动态代理实现的,所以,想要让AOP生效,前提必须是动态代理生效,并且可以调用到代理对象的方法什么情况下会不走代理对象的调用呢?首先就是类内部的调用,比如一些私有方…

marker基因注释热图可视化函数(视频教程-通用函数)

这里我们分享一个热图函数,是一个可视化的函数,您只需要提供作图的matrix数据即可。最近对于图形注释使用点比较上头,所以我们这个函数的列注释使用设置的是点的注释形状。我们的函数解决了以下几个问题: 数据的自动排序和列的自定…

【实训项目】“优品果园”-线上水果商城小程序

1.项目背景 随着现代人对消费水平的追求以及对食物安全的需要,无污染、产地直销的有机水果受到越来越多市民的喜欢。交易过程的简洁化是现代消费者的追求,产地直销也是近期流行的一种新型的交易模式。产地直销的交易模式使得交易过程更加简便快捷&#…

电容笔什么牌子好?比较好用的ipad手写笔推荐

哪一种电容笔适合学生党?作为一名数字爱好者,我对电容笔还是有所了解的。其实苹果的电容笔,与一般的电容笔最大的不同之处,就是在于压感方面上。因为苹果的电容笔具有独一无二的“重力压感”,所以我们可以在绘图时使用…

Nacos(替代Eureka)注册中心

Nacos初步学习 Nacos 是一个开源的服务注册和配置中心,它允许您注册、注销和发现服务实例,并提供了配置管理的功能。下面是Nacos的最基础用法: 1. 服务注册和发现: 首先,您需要将您的应用程序或服务注册到Nacos中。…

termius mac版无需登录注册直接永久使用

1. 下载地址:termius下载 2. 解压安装 3. 当出现 “termius”已损坏,无法打开 则输入以下命令即可:sudo xattr -r -d com.apple.quarantine /Applications/Termius.app 最后去 系统设置-> 隐私与安全性-> 仍要打开 4. 删除app-update.yml文件&…

Ant Design Form.List基础用法

使用 Form.List 使用 项目中需要在新增可以多个如图 代码如下 // An highlighted block <Card title"产品信息" bordered{false}><Form.List name"productList" >{(fields, {add, remove}) > (<>{fields.map((field) > (<Ro…

佳音通讯400电话中心:在线自选,惠及企业

在当今竞争激烈的商业环境中&#xff0c;企业需要提供卓越的客户服务来脱颖而出。而一个高效的400电话中心则成为了越来越多企业的选择。佳音通讯400电话中心官方网站是企业选择400电话服务的首选平台&#xff0c;提供了在线自选功能&#xff0c;让企业能够根据自身需求灵活选择…

集群分发脚本xysnc

一、scp&#xff08;secure copy&#xff09; 安全拷贝 1.定义 scp&#xff08;Secure Copy&#xff09;是一个用于在不同计算机之间安全地复制文件和目录的命令行工具。它使用 SSH 协议进行连接和文件传输&#xff0c;提供了加密和身份验证机制&#xff0c;确保数据传输的安…

Excel 规范录入数据

文章目录 录入日期录入百分比 快捷键&#xff1a; tab&#xff1a;向右切换单元格 enter&#xff1a;向下切换行 shift tab&#xff1a;向左切换单元格 shiftenter&#xff1a;向上切换行 录入日期 输入今天的日期的快捷键&#xff1a;Ctrl ; 输入当时的时间的快捷键&a…

【QT5-程序控制电源-[GPIB-USB-HS]-SCPI协议-上位机-基础样例【2】】

【QT5-程序控制电源-[GPIB-USB-HS]-SCPI协议-上位机-基础样例【2】】 1、前言2、实验环境3、自我总结1、基础了解仪器控制-熟悉仪器2、连接SCPI协议3、了解GPIB-USB-HS4、软件调试-代码编写 4、熟悉协议-SCPI协议5、实验过程-熟悉软件&#xff08;1&#xff09;去官网NI&#x…

【踩坑】hive脚本笛卡尔积严重降低查询效率问题

前一阵子查看我们公司的大数据平台的离线脚本运行情况, 结果发现有一个任务居然跑了一天多, 要知道这还只是几千万量级的表, 且这个任务是每天需要执行的 于是我把hive脚本捞出来看了下, 发现无非多join了几个复杂的子查询, 应该不至于这么久, 包括我又检查了是不是没有加上每…

使用 KubeSkoop exporter 监测和定位容器网络抖动问题

作者&#xff1a;遐宇、溪恒 本文是 8 月 17 日直播的文字稿整理&#xff0c;文末可观看直播回放。除去文章内容外&#xff0c;还包括针对实际网络问题的实战环节。 容器网络抖动问题发生频率低&#xff0c;时间短&#xff0c;是网络问题中最难定位和解决的问题之一。 不仅如…

项目文件上传到行云codeup teambition

接手公司好几年的老项目&#xff0c;在行云上已经有1.9G的大小所以被限制上传了 只有花钱扩容或者重新建库。 1.重新建库&#xff1a;登录你的行云账户在代码库中新建代码库&#xff08;网上有详细的&#xff09; 创建成功后的库中只有readme文件。 2.复制代码库的下载地址 …

【计算机网络-自顶向下方法】应用层(SMTP、POP3、DNS)

目录 1. Electronic Mail电子邮件应用画像1.1 电子邮件系统1.2 邮件报文格式1.3 邮件访问 2. DNS&#xff08;Domain Name System&#xff09;2.1 DNS提供的服务2.2 DNS工作机理2.3 DNS资源记录2.4 DNS协议&#xff0c;报文2.5 小结 1. Electronic Mail 电子邮件应用画像 应用…

jmeter 请求发送加密参数

最近在做http加密接口&#xff0c;请求头的uid参数及body的请求json参数都经过加密再发送请求&#xff0c;加密方式为&#xff1a;ase256。所以&#xff0c;jmeter发送请求前也需要对uid及json参数进行加密。我这里是让开发写了个加密、解密的jar&#xff0c;jmeter直接调用这个…

React的类式组件和函数式组件之间有什么区别?

React 中的类组件和函数组件是两种不同的组件编写方式&#xff0c;它们之间有一些区别。 语法和写法&#xff1a;类组件是使用类的语法进行定义的&#xff0c;它继承自 React.Component 类&#xff0c;并且需要实现 render() 方法来返回组件的 JSX。函数组件是使用函数的语法进…