旅游攻略那个网站做的好/sem竞价广告
今天就给大家说一说pytest框架。
今天这篇文章呢,会从以下几个方面来介绍:
01、pytest框架介绍
pytest 是 python 的第三方单元测试框架,比自带 unittest 更简洁和高效,支持非常丰富的插件,同时兼容 unittest 框架。这就使得我们在 unittest 框架迁移到 pytest 框架的时候不需要重写代码。
pytest框架优点
1、简单灵活,容易上手
2、支持参数化
3、能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appium等自动化测试,接口自动化测试(pytest+request)
4、pytest具有很多第三方插件,并且可以自定义扩展,
02、pytest框架的安装
pytest框架的安装
pip install pytest
pytest框架使用注意事项
.py 测试文件必须以test_开头(或者以_test结尾)
测试类必须以Test开头,并且不能有 init 方法
测试方法必须以test_开头
断言必须使用 assert
03、pytest运行方式
1、、如果不提供任何参数,那么pytest会在当前目录及子目录下寻找以test_开头或者以_test结尾的测试文件,且该文件中以test_开头的测试函数
2、当运行时指定测试文件的时候
1.此时目录一定要切换到测试文件所在的目录,否则pytest搜索不到测试,不会执行.
2.执行测试文件里的函数的时候,会搜索以test_开头的测试函数执行,不符合此规则的函数不会被执行
3.如果含有测试类,那么允许该测试文件时,会搜索类名以Test开头的类,且该测试类中的函数命名也必须符合要求才会被执行
4、运行的方式可以在命令行也可以在主方法上面运行
例如:如:指定运行pythonDemo目录下的test_01模块
......
if __name__ == "__main__":
pytest.main(["pythonDemo/test_01.py"])
或者命令行模式:
pytest pythonDemo/test_01.py
其实呢,pytest的运行方式花样非常多,有很多参数可以使用,可以达到不同的效果。
04、pytest框架常用插件及安装
pytest框架提供非常多的插件,可以实现不同的功能,今天给大家例举一下最常用的几种插件。
pytest-xdist
当用例量很多时,运行时间也会变的很长,如果想缩短脚本运行的时长,就可以用多进程来运行。多cpu分布。
pytest-rerunfailures
在做测试时, 短时的网络波动会导致用例运行失败, , 此时就可通过重试运行用例的方式来解决问题。(用例失败后重跑
pytest-html
是一个pytest用于生成XML/HTML测试报告的插件。(HTML测试报告)
pytest-assume
Pytest中可用assert断言, 但一个失败后面的断言将不再执行;pytest-assume可以实现对多个断言多重校验的。
pytest-repeat
测试过程中会出现一些偶现的bug, 对于这种问题我们会针对此用例反复执行多次, 最终复现出问题来; pytest-repeat插件就能起到这个作用: 重复执行测试用例
pytest-ordering
pytest默认按字母顺序去执行的(小写英文--->大写英文--->0-9数字)
用例之间的顺序是文件之间按照ASCLL码排序,文件内的用例按照从上往下执行
setup_module->setup_claas->setup_function->testcase->teardown_function->teardown_claas->teardown_module
但可以通过第三方插件pytest-ordering实现自定义用例执行顺序
好了,今天先给大家介绍到这里
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
相关文章:

自动化测试框架 —— pytest框架入门篇
今天就给大家说一说pytest框架。 今天这篇文章呢,会从以下几个方面来介绍: 01、pytest框架介绍 pytest 是 python 的第三方单元测试框架,比自带 unittest 更简洁和高效,支持非常丰富的插件,同时兼容 unittest 框架。…...

String类详解
String类详解 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 解密String类:探秘Java中的字符串魔法 在Java的世界里,String类犹如一位魔法…...

Linux高级管理--安装MySQL数据库系统
MySQL服务基础 MySQL.是一个真正的多线程、多用户的SQL数据库服务,凭借其高性能、高可靠和易于使 用的特性,成为服务器领域中最受欢迎的开源数据库系统。在2008年以前,MySOL项目由MySQL AB公司进行开发,发布和支持,之后…...

团建策划信息展示服务预约小程序效果如何
团建是中大型企业商家每年举办的员工活动,其形式多样化、具备全部参与的娱乐性。但在实际策划流程及内容时,部分公司便会难以入手,术业有专攻,这个时候团建策划公司便会发挥效果。 如拓展训练、露营、运动会、体育竞技等往往更具…...

一个Redis实例最多能存放多少keys
程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一份大厂面试资料《史上最全大厂面试题》,Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …...

K8S(四)—pod详解
目录 pod介绍Pod的概念:Pod的特性:Pod的配置:Pod的控制:示例 YAML 文件: pod启动流程问题 两种方式启动镜像的升级和回滚更新 Deployment:回滚检查 Deployment 历史版本回滚到之前的修订版本缩放 Deploymen…...

shiro Filter加载和执行 源码解析
一、背景 在使用若依框架(前后端不分离包含shiro安全框架)时,发现作者添加了验证码、登录帐号控制等自定义过滤器,于是对自定的过滤器加载和执行流程产生疑问。下面以验证码过滤器为例,对源码解析。注意类之间的继承关…...

IDEA上传jar包到Maven
mvn install:install-file //固定格式,maven的语法 -Dfilealibaba-sdk-1.0.0.jar //这里填写包的路径,因为我们是在当前目录所以只需要输入包名即可 -DgroupIdcom.qiehua.csdn //这里填写包的groupId,之后作为pom.xml中引用的gr…...

JavaScript——基本语法
1.定义变量: 变量类型 变量名 变量值 var关键字声明变量 es6版本以上 var 可写可不写 <script>// 定义变量:变量类型 变量名 变量值 var关键字声明变量 es6版本以上 var 可写可不写var num 2;</script>2.条件控制 <script>var …...

一款最近很火的开源低代码平台
低代码平台近年来获得大量融资的原因是多方面的。首先,低代码平台代表了软件开发领域的一个重要趋势,即通过简化编程过程来降低技术门槛,使非专业开发者也能构建应用程序。这为那些希望加速数字化转型的企业提供了新的可能性,因此…...

vue之代理配置devServer(vue.config.js)片段
关于vue.config.js的部分配置解析:首先看下面一段配置 devServer: { open: process.platform darwin,//true or false (true则启动项目自动打开系统自带浏览器) host: 0.0.0.0, // 配置devServer服务监听的地址 比如:想让局域网…...

CTD测试流程
连接 连接17Plus,用usb转232线,db9公针2、3分别接Data I/O的2、3。DB9的5接Data I/O的1。尼龙塞子打开状态。不用闭合。 软件连接 打开SeaTermAF V2,注意打开前先把串口插上,否则软件读不到串口。如果读不到,就在插…...

面试经典150题(15-19)
leetcode 150道题 计划花两个月时候刷完,今天(第七天)完成了5道(15-19)150: 今天这些都是我之前做过的,还有就是今天的全都是模拟过程。。所以做的还算快。 15(13. 罗马数字转整数) 题目描述&a…...

Linux下的网络服务
一般来说,各种操作系统在网络方面的性能比较是这样的顺序BSD>Linux>Win NT>Win 9X, 由此说来,Linux的网络功能仅次于UNIX,而强于Win NT和其它的视窗系列产品,对于Win2000我还不能评价太多,因为不是很熟。 Lin…...

制造业对于IT软硬件监控和摄像头故障监控的需求
制造业对于生产线的自动化和智能化需求较高,IT监控运维管理软件在制造业的应用也日益普及。监控易为制造业提供了一系列定制化的解决方案,助力企业实现生产线的智能化和高效化。 随着制造业的数字化转型和智能化升级,IT运维管理软件的需求也在…...

idea一些报错
java: 非法字符: \ufeff 使用IDEA修改文件编码 在IDEA右下角,将编码改为GBK,再转为UTF-8,重新启动项目。具体步骤如下: 在IDEA右下角找到UTF-8字样的编码格式设计项,点击选择第一项GBK,然后Convert…...

【Java系列】详解多线程(二)——Thread类及常见方法(上篇)
个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Java系列专栏】【JaveEE学习专栏】 本专栏旨在分享学习Java的一点学习心得,欢迎大家在评论区交流讨论💌 目录 一…...

Android Dialog 弹出时,隐藏 navigation bar
1、概述 一些场合,要求界面是全屏的,然而在全屏界面下,弹出dialog 又会导致虚拟按键栏重新弹出来,也是比较难受的。(而且查了非常多方法都是不能完美的解决这个问题,要么是压根不能用,要么是会闪一下虚拟栏…...

LeetCode(Hot100)——1:两数之和
方法1:暴力求解 利用两次for循环来处理, 外循环确定一个数字, 利用内循环不断求和来判断是否两数之和为target,来进行求解。 public class LeetCode1 {Test//测试方法public void test() {int [] nums{2,7,11,15};int target9;/…...

【Qt】报错error:undefined reference to `vtable for Consumer‘的解决方法
1. 问题原因 在创建完程序后,点击构建,显示编译错误。 错误问题如下: error: undefined reference to vtable在编译输出中查看显示如下: error:undefined reference to vtable for custom2. 原因分析 这个错误通常是因为 C 的虚函数表&am…...

【linux系统】用户功能与权限详细总结
前言 菜某的笔记总结,有错误还请指正。 linux用户的概念与root用户 这么理解:一台电脑有多个操作者,每个操作者只能无限制操作自己文件夹中的东西,其他地方的操作需要给与相应权限才能操作。 root用户:就是最高级的…...

ELK简单介绍二
学习目标 能够部署kibana并连接elasticsearch集群能够通过kibana查看elasticsearch索引信息知道用filebeat收集日志相对于logstash的优点能够安装filebeat能够使用filebeat收集日志并传输给logstash kibana kibana介绍 Kibana是一个开源的可视化平台,可以为ElasticSearch集群…...

video 标签 各种属性及所有事件监听
网页中的video 属性和事件,用于计算观看视频的时长,其他用法备存。 <!-- video 不支持 IE8及以下版本浏览器,支持三种视频格式:MP4,WebM 和 Ogg --><video src"test.mp4" controls width"400…...

TS中断言、转换的应用
1.TS 类型断言定义 把两种能有重叠关系的数据类型进行相互转换的一种 TS 语法,把其中的一种数据类型转换成另外一种数据类型。类型断言和类型转换产生的效果一样,但语法格式不同。 2.TS 类型断言语法格式 A 数据类型的变量 as B 数据类型 。 A 数据类…...

【代码随想录算法训练营-第四天】【链表】24,19, 面试题 02.07,142
24. 两两交换链表中的节点 第一遍-递归-小看了一下题解 思路: 读了两遍题目才理解…相邻节点的交换,这个操作很容易实现,但需要一个tmpNode因为是链表的题目,没开始思考之前先加了dummyNode,还真管用把dummyNode作为…...

代理设计模式
1. 代理模式 1.1 代理模式的原理分析 代理设计模式(Proxy Design Pattern)是一种结构型设计模式,它为其他对象提供一个代理对象,以控制对这个对象的访问。代理模式可以用于实现懒加载、安全访问控制、日志记录等功能。 代理模式…...

ubuntu安装docker及docker常用命令
docker里有三个部分 daemon 镜像 和 容器 我们需要了解的概念 容器 镜像 数据卷 文章目录 docker命令docker镜像相关命令docker容器相关命令数据卷ubuntu安装docker docker命令 #启动,停止,重启docker systemctl start docker systemctl stop docker s…...

STM32-TIM定时器输出比较
目录 一、输出比较简介 二、PWM简介 三、输出比较通道(通用) 四、输出比较通道(高级) 五、输出比较模式 六、PWM基本结构 七、PWM参数计算 八、外设介绍 8.1 舵机 8.2 直流电机及驱动 九、开发步骤 十、输出比较库函数…...

《Easy3d+Qt+VTK》学习
《Easy3dQtVTK》学习-1、编译与配置 一、编译二、配置注 一、编译 1、 资源下载:easy3d giuhub 2、解压缩 3、用qt打开CMakeLists.txt即可 4、点击项目,选择debug或者release,图中3处可自行选择,因为我的qt版本是6,…...

多平台展示预约的服装小程序效果如何
线下实体服装店非常多,主要以同城生意为主,但随着电商经济增长,传统线下自然流量变少,商家们会选择线上入驻平台开店获得更多线上用户,包括自建私域小程序等。 而除了直接卖货外,线上展示预约在服装行业也…...