unittest自动化测试-测试夹具TestFixtrue与忽略测试用例方法
一、TestFixtrue
1、TestFixture简介
TestFixture用在测试方法前,或者测试方法后,主要功能是提供一些测试需要用的装置,这些装置可以是数据,可以是环境配置也可以是一个运行前状态。
2、TestFixture分类
(1)setup(), teardown()的方式,分别在每个测试方法执行前后执行。
(2)setUpClass(), tearDownClass()的方式,分别在每个测试类执行前后执行, setUpClass()和tearDownClass()只会执行一次,即使这个测试类有多个测试函数。
(3)setUpModule :整个模块开始前执行,tearDownModule:整个模块结束时执行。
setUpClass/tearDownClass 为类方法,需要通过@classmethod 进行装饰,另外方法的参数为cls,cls和self没有本质上的区别,都只表示方法的第一个参数
3、实例
import unittest
# 整个模块开始前执行
def setUpModule():print("模块级别开始test module start")
# 整个模块结束时执行
def tearDownModule():print("模块级别结束test module end")class MyTest(unittest.TestCase):# 测试用例类开始前执行@classmethoddef setUpClass(cls) :print("类级别开始 test class start" )# 测试用例类结束时执行@classmethoddef tearDownClass(cls) :print("类级别结束 test class end")# 测试用例开始前执行(以一条测试用例为单位)def setUp(self) -> None:print("用例级别开始 test case start")# 测试用例结束时执行(以一条测试用例为单位)def tearDown(self) -> None:print("用例级别结束 test case end")def test_case1(self):print("用例 test case1")def test_case2(self):print("用例 test case2")if __name__ == '__main__':unittest.main()
->None :建议函数返回None。
二、测试框架
1、自动化测试的设计模式
(1)PMO设计模式
基础封装层
页面对象层
测试用例层
(2)关键字驱动模式
关键字封装
2、公共的封装层
(1)夹具的封装;
(2)selenium二次封装;
(3)ini和yaml全局配置文件封装;
(4)excel、csv文件的读写封装;
(5)数据库操作封装;
(6)调用外部的第三方库封装;
3、数据层
(1)excel数据驱动
(2)csv数据驱动
(3)yaml数据驱动
(4)数据库数据驱动
4、文件层:
(1)HTML报告文件;
(2)log日志文件;
(3)全局配置文件;
(4)错误截图文件;
(5)邮件附件文件;
(6)接口关联文件;
三、忽略测试用例
不需要的测试用例
import unittestclass MyTest(unittest.TestCase):a = 18@unittest.skip('无条件忽略')def test_case1(self):print("用例 test case1")@unittest.skipIf(a >= 16,"条件为true忽略")def test_case2(self):print("用例 test case2")@unittest.skipUnless(a >= 20, "条件为false忽略")def test_case3(self):print("用例 test case3")if __name__ == '__main__':unittest.main()
输出结果:
参考文献:
【1】测试框架实践--TestFixture_疯狂的程序员丶的博客-CSDN博客_fixture test
unittest自动化测试-测试夹具TestFixtrue与忽略测试用例方法相关推荐
- Unittest自动化测试框架教程(二)——Python中Fixture测试夹具的使用和setUp方法相关参数传递
"此文基于系列作品 Unittest自动化测试框架教程(一)--测试用例基本框架介绍 基础上编写,初学者访问此文建议快速浏览链接文章熟悉测试用例基本框架,高手可直接上手阅读 ~ " ...
- python+requests+unittest+HTMLTestRunner构建接口自动化测试框架(四)测试用例执行
python+requests+unittest+HTMLTestRunner构建接口自动化测试框架(一)了解基础框架,读取配置文件 python+requests+unittest+HTMLTest ...
- Unittest自动化测试框架教程(四)——Python中的数据驱动测试DDT
" 数据驱动测试DDT(Data Drivern test),是自动化测试领域优势中亮眼的闪光点,在unittest测试框架中对数据驱动更是提供了强大的支持,文章通过基础概念的引入,介绍了 ...
- python+selenium+unittest自动化测试框架
前言 关于自动化测试的介绍,网上已有很多资料,这里不再赘述,UI自动化测试是自动化测试的一种,也是测试金字塔最上面的一层,selenium是应用于web的自动化测试工具,支持多平台.多浏览器.多语言来 ...
- Selenium+python怎么搭建自动化测试框架、执行自动化测试用例、生成自动化测试报告、发送测试报告邮件
目录 一.项目结构介绍 1.mztestpro测试项目 2.bbs目录 3.test_case 二.编写公共模块 三.编写Page Object 四.编写测试用例 五.执行测试用例 小结: 本人在网上 ...
- python appium自动化测试框架unittest_Appium基于Python unittest自动化测试 自动化测试框架 -- PO并生成html测试报告...
基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(unitt ...
- selenium+unittest自动化测试(一)---环境搭建及用例编写规则
目录 一.selenium.unittest简介 二.环境搭建 1.安装selenium库 2.安装unittest2框架 3.安装浏览器驱动 三.编写规则 1.测试类 2.以test开头 3.set ...
- unittest自动化测试测试框架从0到实战详解
目录 一.单元测试的定义 二.unittest框架及原理 三.unittest的断言 四.TestCase测试用例 五.TestFixure测试夹具 六.TestSuite测试套件 七.TestRun ...
- Python学习——UnitTest自动化测试框架
UnitTest框架的基本使用 1.概念:UnitTest是Python自带的一个单元测试框架,用它来做单元测试 2.UnitTest框架的优势: 能够组织多个用例去执行 提供丰富的断言方法 能够生成 ...
最新文章
- OSG的HUD抬头文字显示
- python入门要多久-初学者如何快速上手python入门要多久
- 学python有哪些用途-Python语言有哪些用途
- Divan and bitwise operations 异或,同或,组合数学(1500)
- 【限时】推荐算法工程师培养计划
- 面向对象的4个基本特征
- Wizard of Orz CodeForces - 1467A
- Github Action 快速构建 Electron 应用
- 并查集算法c语言版,并查集及其C程序实现.doc
- CString LPCTSTR LPTSTR 类型的相互转化
- 脉冲神经网络的开发公司AI-CTX
- 安卓手机怎么root_怎么在腾讯手机管家中一键获取Root权限
- [Ubuntu16.04]Anaconda下运行jupyter notebook出现Running as root is not recommended.
- 如何做组间差异检验_买套餐送车险,做维修提供代步车,考拉爱车如何实现差异化竞争?...
- springboot通过各种不同类型参数获取容器中的bean工具类
- 关于 Ubuntu Server 18.04 的网络(dchp/dns/route/PPPoE)
- OneNET麒麟座应用开发之五:获取加速度传感器ADXL345数据
- c#时间 转换成java_Java与C#时间转换
- 基于JAVA开发的在线双人联机坦克大战小游戏
- Android常用的几种对话框
热门文章
- Efficient Estimation of Word Representations in Vector Space翻译
- 神经网络训练多少次合适,深度神经网络如何训练
- git clone时The authenticity of host ‘xxx‘ can‘t be established.
- 目标检测YOLO实战应用案例100讲-基于卷积神经网络的小目标检测算法研究
- SqlServer之xp_cmdshell_使用以及配置
- 禁止Debian 11自动休眠
- 2020年海思所有芯片合集参考说明
- 厚膜电阻和合金电阻的区别都有哪些?快来看看吧
- ac3168无线网卡驱动下载_笔记本 及 普通PC 无线网络连接方法
- 「教程」游戏开发基础——游戏UI设计基本原则