目录
一. 框架介绍
二. 四大组件
三. DDT数据驱动
四. yaml文件操作
五. 断言的使用
六. skip的应用
一.框架介绍
- unittest框架是python 自带的一个作为单元测试的测试框架,在最初叫pyUnit,相当与Java语言中的Junt.
- Unittest可以结合seleenium,requests来实现 UI 与接口自动化.
- 由unittest框架 再衍生出pytest框架,pytest 可以完美结合unittest 来实现自动化。(pytest相当于unittest的升级版).
- unittest 无需额外安装,因python 中已直接加载了unittest.
二.四大组件
- test fixture:测试固件 setUp 与 tearDown为执行测试用例的前置条件与后置条件;
- Test.Case:测试用例 ,用例语法规范:(1).test_ 开头,(2).用例执行顺序:A-Z,a-z,0-9
- Test suite:测试套件
- Test runner:运行器
三. DDT数据驱动
- 数据驱动益处:
(1).避免编写重复代码
(2).数据与测试脚本分离
(3).通过使用数据驱动测试,来验证多组数据测试场景
(4).通常上,多用于单元测试于接口测试 - DDT 介绍
(1).DDT 全称 Data-Drivern Test,即数据驱动测试,可以实现不同数据运行同一个测试用例。
(2).DDT本质就是装饰器,一组数据一个场景
(3).装饰器前面需加@ - DDT使用
(1).Ddt导入:from ddt impot ddt,data,unpack
(2).Ddt.ddt:装饰类,也就是继承TestCase方法,存放在class类前面,即:@ddt
(3).Ddt.data:装饰测试方法,存放参数值;存放在测试用例前面,即:@data(参数值)
(4).Ddt.unpack:解包;比如说列表或者元组,添加unpack后,ddt会自动把元组或列表对应到多个参数上
存放在 @data() 下面,即:@data(*read_file()) #read_file函数 读取文件数据
@unpack()
四.yaml操作
- yaml文件是jdk 完美兼容的文件格式
yaml文件内的数据一般为:字典格式数据(key:value格式)
yaml文件以 *.yaml 为文件后缀
yaml安装:pip.exe install pyyaml
传入的参数是字典格式,不需要@unpack 进行数据的解包
五.Unittest 断言
断言:自动化测试主要用于对流程来进行测试,断言就是自动化测试中的预期结果与实际结果的对比.
六.skip的应用
- 无条件跳过本条用例
@unittest.skip() - 判断用例是否为 false,当为false 跳过本条用例
@unittest.skipUnless() - 判断用例是否为true, 当为true 跳过本条用例
@unittest.skipIf() - 判断当断言失败,就忽略掉本条用例,并不把本条用例算入失败的用例中
unittest.expectedFailure