【建议收藏】Python自动化必不可少的测试框架 — pytest

news2024/11/28 14:47:47

每天进步一点点,关注我哦,每天分享测试技术文章

Python在测试圈的应用非常广泛,特别是在自动化测试以及测试开发的领域,其中在自动化测试中我们常用的测试框架是uniitestpytest,本文将带领大家搭建以及熟悉pytest的使用。

既然有unittest那么为什么还要用pytest呢?

这是因为pytest有以下的特点:

  • 入门简单,文档丰富,而且文档中有很多实例参考

  • 支持参数化,可以从教细的力度控制测试用例

  • 能够支持简单的单元测试和复杂的功能测试

  • 支持测试跳过,失败case标记

  • 支持失败重试

  • 支持由nose,unittest编写的测试用例

  • 支持HTML报告

  • 和jenkins持续集成很方便

  • 具有很多第三方插件,并且可以自定义扩展

01安装pytest 
 

cmd或者终端运行

查看版本

快速体验一把

在pycharm里的Terminal直接执行

在这里必须提醒大家注意pytest的执行规则,规则是这样的:

  • 考如果直接敲pytest执行,则会查找当前目录及其子目录下以  test_*.py  或 *_test.py 文件,找到文件后,在文件中找到以test 开头函数并执行

  • 如果只想执行某个py文件,则使用pytest  xxx.py

02pytest测试用例设计原则

用pytest写用例时,需要遵循以下的规则,才能够被识别并执行:

  • 文件名必须以*_test.py或者test_*.py命名

  • 测试函数必须以test开头

  • 测试类必须以Test开头,并且不能包含__init__方法

  • 测试类里以test_开头的方法

  • 所有的包必须要有__init__.py文件

03pytest执行用例规则

1、执行某个目录下所有的用例

在first这个目录下执行pytest命令,则会找该目录下的符合pytest用例规则的所有用例并执行

免费领取码同学软件测试课程笔记+超多学习资料+完整视频+面试题,可加微信:Matongxue_8

2、单独执行某个py文件

执行pyteststudy.py这个文件中符合pytest用例规则的所有用例,而该文件并不需要遵循pytest对于文件的命名规则

3、执行某个py文件里的某个函数

或者某个类,再或者某个类里的某个方法执行pyteststudy.py里的test_add方法

执行pyteststudy.py里的TestCase这个类

执行pyteststudy.py里的TestCase这个类下的test_one方法

4、-s 参数

表示详细打印,可以把脚本中print的信息展示在结果上

04Pycharm运行Pytest

当然以上执行貌似都是在命令行中进行操作的,那么我们使用pycharm能不能像运行普通代码右键run呢,这就需要一定的设置了

设置步骤如下:

  • 点开File --> Settings

  • 在settings弹框中输入integrated 搜索

  • 修改default test runner为pytest

然后在脚本中右键

最后,绵薄之力. 感谢每一个认真阅读我文章的人,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 资料获取方式:

这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,关注公众号:一个心态巨好的朋友 即可自行领取。

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

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

相关文章

改进YOLOv5系列:ResNeXt融合特征金字塔,引领YOLOv5目标检测

目录 一、介绍1、YOLOv5简介2、ResNeXt简介3、目标检测简介 二、YOLOv5及其局限性1、YOLOv5的架构与原理2、YOLOv5的优势3、YOLOv5的局限性 三、ResNeXt与特征金字塔融合1、ResNeXt的基本原理2、ResNeXt的优势3、特征金字塔的基本原理4、特征金字塔的优势5、ResNeXt与特征金字塔…

mysql JDBC的三种查询(普通、流式、游标)

使用JDBC向mysql发送查询时,有三种方式: 常规查询:JDBC驱动会阻塞的一次性读取全部查询的数据到 JVM 内存中,或者分页读取流式查询:每次执行rs.next时会判断数据是否需要从mysql服务器获取,如果需要触发读…

找计算机研究的论文18个平台

虽然说目前arvix是计算机领域跟进最新研究成果论文的网站,有时候我们也需要找一些其他的好论文,比如一个很久之前的。我们整理了18个相关平台,包括几个可以免费下载和阅读CS相关技术论文的网站,收录到 找计算机研究的论文18个平台…

secure CRT 常见问题配置

文章目录 颜色主题如何切换 SecureCRT 颜色主题如何新建SecureCRT 颜色 主题如何拷贝我的颜色主题,主题名为pic 系统间拷贝基于clipboard的文字shell下的VIM系统间拷贝1. 确保 ubuntu 上的 vim 支持 clipboard 特性2. 确保 图形shell下的 vim(gvim) 支持 系统间拷贝3. 确保 文字…

004 - STM32固件库GPIO(三)位带操作

目前掌握的对GPIO引脚的输入输出操作只能使用BSRRL/H、I/ODR寄存器,记得以前学51的时候,对于引脚的输入输出可以采用关键字sbit实现位定义,例如 sbit LED1 P1^3;在STM32中没有类似于sbit一样的关键字,但是提供了位带操作来实现类似于51的为…

ARM的状态传送器指令、软中断指令与协处理指令(软中断具体实现)

1.状态寄存器传送指令: 作用:访问(读写)CPSR寄存器 CPSR寄存器结构图: 前八位的作用: Bit[4:0] :不同的电平组合表示不同的模式,[10000]User [10001]FIQ [10010]IRQ [10011]SVC …

【Hadoop】二、Hadoop MapReduce与Hadoop YARN

文章目录 二、Hadoop MapReduce与Hadoop YARN1、Hadoop MapReduce1.1、理解MapReduce思想1.2、Hadoop MapReduce设计构思1.3、Hadoop MapReduce介绍1.4、Hadoop MapReduce官方示例1.5、Map阶段执行流程1.6、Reduce阶段执行流程1.7、Shuffle机制 2、Hadoop YARN2.1、Hadoop YARN…

导入源码至Android Studio

导入源码至Android Studio 参考: Android源码环境搭建(aosp Ubuntu 16.04) 使用如下的步骤: 1.. build/envsetup.sh (source可以用 .代替,即". build/envsetup.sh") 2.lunch,并选择要编译的项…

jmeter请求Sse长链接接口

文章目录 1.背景1.1 什么是SSE接口 2. **解决思路-尝试方法⬇️:**2.1 🏳️‍🌈 **postman-sse请求结果**2.2 **⚡ jmeter报错**2.3 ☀️**封装此SSE接口**2.3.1 ❌httpclient2.3.2 ❌HttpURLConnection2.3.3 ✔️okhttp3 3. jmeter-beanshel…

跟我一起使用 compose 做一个跨平台的黑白棋游戏(3)状态与游戏控制逻辑

前言 在上一篇文章中,我们已经完成了黑白棋的界面设计与编写,今天这篇文章我们将完成状态控制和游戏逻辑代码的编写。 正如第一篇文章所述,在本项目中,我们需要实现不依赖于平台的状态管理,也就是使用 Flow 和 compo…

浏览器扩展一些好用插件

给浏览器添加一些插件功能,能够让我们用的更方便,开发中非常实用,下面直接开始 我们这里选择的是微软自带的Microsoft Edge浏览器(谷歌也行。这两款浏览器都是非常好用的) 我们打开浏览器找到扩展应用这个,…

opencv 中值滤波

中值滤波是一种常用的图像滤波算法,是在像素点周围进行多个点的中值滤波,将点的灰度值根据其周围像素点的灰度值进行平均,并使这些点的灰度值具有相似性,以达到平滑去噪的目的。中值滤波在图像处理中应用广泛,在图像滤…

利用java编写的项目设备调配系统代码示例(内含5种设备调配的算法)

利用java编写的项目设备调配系统代码示例(内含5种设备调配的算法) 一、设备调配方案二、设备匹配算法三、代码实现(java) 最近在做一个项目设备调配系统,分享一些干货!!! 一、设备…

Godot引擎 4.0 文档 - 入门介绍 - Godot 关键概念概述¶

本文为Google Translate英译中结果,DrGraph在此基础上加了一些校正。英文原版页面:Overview of Godots key concepts — Godot Engine (stable) documentation in English Godot 关键概念概述 每个游戏引擎都围绕您用来构建应用程序的抽象展开。在 Godo…

【mysql】库的操作+表的操作

文章目录 启动mysql登录mysql1.MySQL环境安装与基础认识修改端口号连接服务器服务器,数据库,表关系建表 第二讲_库与表的操作1.创建数据库2.创建数据库案例3.指明字符集和校验集校验规则对数据库的影响不区分大小写的查询以及结果:区分大小写…

SQL Backup Master 6.3.6 Crack

SQL Backup Master 能够为用户将 SQL Server 数据库备份到一些简单的云存储服务中,例如 Dropbox、OneDrive、Amazon S3、Microsoft Azure、box,最后是 Google Drive。它能够将数据库备份到用户和开发者的FTP服务器上,甚至本地机器甚至网络服务…

速通二次型、二次型标准型、二次型规范型

浅过二次型 理解二次型可以从二次型的多项式入手: 显然,在系数都为实数的情况下,二次型矩阵即为一个实对称矩阵。 取一个代入值的例子就是: 二次型的标准型 OK,再从二次型的标准型的多项式入手,如下&…

FPGA System Planner(FSP)使用手册

FSP工具是cadence公司为了FPGA/PCB协同设计而推出的一个解决方案工具包。它的主要工作是由软件来自动生成、优化FPGA芯片的管脚分配,提高FPGA/PCB设计的工作效率和连通性。FSP完成两顷重要工作:一、可以自动生成FPGA芯片的原理图符号(symbol);二、自动生成、优化和更改FPG…

C++模板(上)

文章目录 模板函数模板函数模板的实例化 类模板总结 模板 模板是C种为了方便用户对于一些场景的使用&#xff0c;引入的新概念&#xff0c;使得我们的代码不会冗余 template关键字 template关键字的意思就是模板&#xff0c;语法为&#xff1a;template<typename T1,type…

内网渗透之Linux权限维持-OpenSSHPAM后门SSH软链接公私钥登录

0x01替换版本-OpenSSH后门 原理&#xff1a;替换本身操作系统的ssh协议支撑软件openssh&#xff0c;重新安装自定义的openssh,达到记录帐号密码&#xff0c;也可以采用万能密码连接的功能&#xff01; 可以修改软件版本和删除安装记录 1.环境准备&#xff1a; yum -y install…