unittest框架知识总结
目录
一、测试框架的价值
二、框架设计目标
三、框架设计过程
四、框架实现
1)unittest框架的使用要求
2)unittest测试框架的基本组成要素
3)unittest框架的执行顺序
4)三种不同的框架运行方式对比
1、unittest.main()
2、测试套件执行
3、测试文件执行
5)生成测试报告
一、测试框架的价值
- 提高接口测试执行和接口回归测试的效率
- 节约人工成本,可以安排在夜间执行
- 提高脚本的复用性,适应各种不同的接口测试需求
- 提高接口测试的规范性,把所有的脚本以及测试文档进行统一管理
二、框架设计目标
最终只需要调整框架配置文件的一些参数,不需要人工干预测试脚本的执行
三、框架设计过程
- 明确框架层次,基本层次如下:
- 配置层
- 脚本层
- 数据层
- 报告层
- 对框架的设计进行评审
- 创建框架对应的文件夹
- 框架的设计
- 框架的实现
- 框架的调试运行
四、框架实现
1)unittest框架的使用要求
- import unittest
- 定义测试类需要继承unittest:class测试类名(unittest.TestCase)
2)unittest测试框架的基本组成要素
- setUp初始化方法:可选,是测试前期的初始化工作
- test_XXX测试方法:
- 测试方法的名字必须以test_打头
- 加入测试断言,将脚本预期结果和实际结果进行比对
- tearDown资源回收:可选,一般作为关闭对象,释放对象。
3)unittest框架的执行顺序
- setUp进行初始化
- 执行test测试方法
- tearDown进行资源回收
4)三种不同的框架运行方式对比
1、unittest.main()
- 依次执行当前文件中对应测试类的所有测试方法
- 执行顺序按照asc码顺序,所以一般测试方法建议定义为test_case1、test_case2
- 特点:执行当前类中对应的所有测试方法
2、测试套件执行
- 声明测试套:suite = unittest.TestSuite()
- 通过addtest方法添加测试用例:suite.addTest(类名("测试方法名"))
- 声明测试运行对象:runner = unittest.TextTestRunner()
- 执行测试套:runner.run(suite)
- 特点:按照加载顺序的顺序和个数进行执行
- 注意:运行模式要改为以python文件而不是测试框架模式运行(在框架中右键默认运行方式是以框架模式运行的)
3、测试文件执行
- 声明文件所在路径
- 定义discover对象打开相关的脚本文件:discover = unittest.defaultTestLoader.discover(文件路径, pattern="test_*.py")
- 声明测试运行对象:runner = unittest.TextTestRunner()
- 执行测试套:runner.run(discover)
- 特点:
- 执行任意指定路径下的任意相关命名的python测试脚本。
- 执行每一个文件中所有的测试方法,顺序也是安装asc码顺序进行
5)生成测试报告
生成HTML格式的测试报告,步骤:
- 下载HTMLTestRunner.py:下载地址http://tungwaiyip.info/software/HTMLTestRunner.html
- 拷贝到项目文件夹下
- 导入HTMLReport包:from HTMLTestRunner import HTMLTestRunner
- 在main()函数下生成测试报告的脚本:
- 获取测试报告文件应放置的路径
- 给定具体的测试报告文件名,以wb的方式打开文件file = open("xxx","wb")
- 设置测试套,并添加要测试的方法
- 生成HTML报告:runner = HTMLTestRunner(stream=file, title="标题", description="描述")
- 调用runner对象执行测试套:runner.run(suite)
- 关闭测试报告文件
- 注意:运行模式要改为以python文件而不是测试框架模式运行(在框架中右键默认运行方式是以框架模式运行的)
unittest框架知识总结相关推荐
- unittest框架-基础知识
一.什么是UnitTest框架 UnitTest是python自带的一个单元测试框架,用它来做单元测试. 对于测试来说,unittest框架的作用是自动化脚本(用例代码)执行框架,使用unittest ...
- selenium-webdriver(python) (十六) --unittest 框架
学习unittest 很好的一个切入点就是从selenium IDE 录制导出脚本.相信不少新手学习selenium 也是从IED 开始的. IDE学习参考: 菜鸟学自动化测试(一)----selen ...
- 自动化测试:Selenium8种元素定位+unittest框架设计
作者简介: 笔名,软件测试君.参与过汇丰银行,国家电网,中国电信等多个大型项目的研发和管理,擅长的技术领域为安全测试,性能测试,自动化框架搭建与维护,曾受南京航空航天大学邀请分享Linux.oracl ...
- 自动化测试——unittest框架
自动化测试--unittest框架 文章目录 自动化测试--unittest框架 unittest 一.TestCase(测试用例) 二.TestSuite(测试套件)和TestRunner(测试执行 ...
- 这些自动化测试框架知识你还不知道?
这些自动化测试框架知识你还不知道?! 无论是在自动化测试实践,还是日常交流中,经常听到一个词:框架.之前学习自动化测试的过程中,一直对"框架"这个词知其然不知其所以然. 最近看了很 ...
- Selenium自动化测试:8种元素定位+unittest框架设计
作者简介: 笔名,唐米.参与过汇丰银行,国家电网,中国电信等多个大型项目的研发和管理,擅长的技术领域为安全测试,性能测试,自动化框架搭建与维护,曾受南京航空航天大学邀请分享Linux.oracle等测 ...
- unittest 框架学习
为什么80%的码农都做不了架构师?>>> 今天我学习了,怎么把testcase分到不同的文件中,然后在集中到一个testsuite中一起跑,我还学会了怎么打包,怎么引用. 打包 ...
- unittest框架执行用例
pycharm中运行脚本的方式总共有三种,分别为:unittest模式,pytest模式,普通模式,今天主要来聊一聊unittest模式执行与普通执行(因为最近在学习unittest框架,所以pyte ...
- selenium + python自动化测试unittest框架学习(二)
1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py &g ...
最新文章
- python 字典
- 如何调试Node.js应用程序?
- 银行业双活数据中心-F5在双活数据中心中的应用
- Android系统匿名共享内存(Anonymous Shared Memory)C++调用接口分析(6)
- [笔记]C#基础入门(十四)——C#用流程图描述程序逻辑
- DOTNET Core MVC(二)路由初探
- winrar 去广告_解压缩工具之WinRAR下载安装教程
- kaike的FLAGs
- 【软件测试】单元测试是软件测试的最基础环节
- eclipse idea 导入maven项目
- python编写俄罗斯方块代码详解_python如何写个俄罗斯方块
- 利用C#实现Pdf转图片
- 理解“万事万物皆对象“
- Python爬虫入门教程【6】:蜂鸟网图片爬取之一
- Linux第一个正式版本,你安装的第一个Linux系统是什么版本的,成功没有啊?
- [从0开始机器学习]5.逻辑回归 二分类
- WATCH ME 2007
- 分享Silverlight/WPF/Windows Phone一周学习导读
- 当ChatGpt接入微信群之后。。。
- dede {dede:channel currentstyle 中使用~seotitle~