IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 初识pytest -> 正文阅读

[开发测试]初识pytest

初识pytest

pytest单元测试框架
(1)什么是单元测试框架?
单元测试是指在软件开发过程当中,针对软件的最小单位(函数、方法)进行正确性的检查测试。
(2)单元测试框架主要做什么?

		1. 测试发现:从多个文件里面找到我们的测试用例
		2. 测试执行:按照一定的规则和顺序去执行,并生成结果
		3. 测试判断:通过断言判断预期结果和实际结果的差异
		4. 测试报告:统计测试进度,耗时,通过率,生成测试报告

单元测试框架和自动化测试框架有什么关系?
(1)什么是自动化测试框架
(2)作用?

		 1. 提高测试效率,降低维护成本
		 2. 减少人工干预,提高测试准确性,增加代码的重用性
		 3. 核心思想是让不懂代码的人也能通过框架去实现自动化测试

(3)pytest单元测试框架和自动化测试框架的关系?

		 1. 单元测试框架:只是自动化测试框架的组成部分之一
		 2. pom设计模式:只是自动化测试框架的组成部分之一
		 数据驱动。。。
		 关键字驱动文件的封装
		 日志监控
		 requests二次封装
		 断言
		 报告邮件
		 .....

pytest简介

		 1. pytest是一个非常成熟的python单元测试框架,比unittest更灵活,更容易上手
		 2. pytest可以和selenium,requests,appium结合实现web、接口、app自动化
		 3. pytest可以实现测试用例的跳过以及reruns失败用例重试
		 4. pytest可以和allure生成测试报告
		 5. pytest可以和jenkins持续集成
		 6. pytest有很多强大的插件,并且这些插件能够实现很多使用的操作

pytest插件:

插件名作用
pytest-html生成html格式的自动化测试报告
pytest-xdist测试用例分布式执行,cpu分发
pytest-ordering用于改变测试用例的执行顺序
pytest-rerunfailures测试用例失败后重跑
allure-pytest用于生成测试报告

pytest规则以及基础应用

		 1. 模块名必须以test_开头或者_test结尾
		 2. 测试类必须以Test开头,并且不能init方法
		 3. 测试方法必须以test开头

pytest测试用例的运行方式

pytest 参数详解
-s表示输出调试信息,包括print打印的信息
-v显示更详细的信息
-n指定分布式运行测试用例(指定线程数即可)
- -reruns失败用例重跑(指定重跑数量)
-x只要有一个测试用例报错就停止
- -maxfail=2出现两个测试用例失败就停止
-k根据测试用例部分字符串指定测试用例
		 1. 主函数模式
			(1)运行所有:pytest.main()
			(2)指定模块:pytest.main(['-vs','test_login.py'])
			(3)指定目录:pytest.main(['-vs','./interface_testcase'])
			(4)通过nodeid指定用例运行:nodeid由模块名、分隔符、类名、方法名、函数名组成。
pytest.main('-vs','./interface_testcase/test_interface.py::test_04_func') # 执行函数
pytest.main('-vs','./interface_testcase/test_interface.py::TestInterface::test_03_test') # 执行方法
		 **2. 命令行模式**
		   (1)运行所有: pytest
		   (2)指定模块:pytest -vs test_login.py
		   (3)指定目录:pytest -vs ./interface_testcase
		   (4)指定函数:pytest -vs  ./interface_testcase/test_interface.py::test_04_func
		   (5)执行方法:pytest -vs  ./interface_testcase/test_interface.py::TestInterface::test_03_test
		 **3. 通过读取pytest.ini配置文件运行**
		    (1)pytest.ini 文件时pytest单元测试框架的核心配置文件。
		    (2)位置:一般存放与项目的根目录
		    (3)编码:必须是ANSI,可以使用notpad++修改编码格式
		    (4)作用:改变pytest默认的行为规则
		    (5)运行规则:不管是主函数的模式运行或者命令行的模式运行,都回去读取这个文件
			[pytest]
			addopts = -vs 				# 命令行的参数用空格分隔
			testpaths = ./testcase		#测试用例的路径
			python_file = test_*.py		#模块名的规则
			python_classes = Test*		#类名的规则
			python_functions = test		#方法名的规则	

pytest测试用例运行顺序
pytest测试运力从上至下以此执行,可用通过@pytest.mark.run(order=3)装饰器设置测试用例执行的顺序,该装饰器依赖于pytest-ordering插件 使用时需提前安装

测试用例分组执行(冒烟,分模块执行,分接口和web执行)
somke:冒烟用例,分布在各个模块里面

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 16:01:27  更:2021-12-11 16:03:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 6:46:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码