UnitTest基本用法
Python中相对比较流行的自动化测试框架UnitTest,PyUnit就是UnitTest。Unit家族主要实现三维内容是单元测试。早期主要做单元测试,随着自动化不断更新,能够完整的结合Selenium、Appium、Request等实现UI自动化与接口自动化。
有四大特点:
1、Test_Case:测试用例,所有的用例都是直接继承于unittest.TestCase类
2、Test_FixTure:setUp和tearDown,作为前置条件和后置条件,test_case集合起来
3、Test_Suites:测试套件 Test_Runner:测试运行器 两个结合一起用
4、断言:UnitTest中封装好了成熟断言,可以直接被调用。
UnitTest环境搭建
Python安装就已经默认封装好了UnitTest框架,调用框架的时候只需要import即可。
UnitTest基本规则:
1、在编写代码的时候,一定要需要遵循的规则
2、setUp(前置条件:测试用例之前的准备工作)和tearUp(后置条件:测试用例之后的扫尾工作)这两个函数,命名必须依照这个格式和名称
3、Test_Case在编写的时候,函数命名必须以test_开头
4、unittest在运行的时候,需要通过调用 unittest main()进行运行。
UnitTest语法规则
1、UnitTest中,测试用例定义以test_开头
2、用例排序与写的无关,排序是遵循A-Z,a-z,0-9,系统会根据这个给你排序
测试类的前置后置条件 需要添加classmethod
基于测试用例的前置后置条件
学习了基于UnitTest来实现百度搜素流程,并结合DDT实现多个不同搜索条件的传入
主讲内容:
1、UnitTest的基本应用
2、结合DDT来实现数据驱动自动化测试
3、有关yaml文件操作
4、UnitTest断言:断言:自动化测试主要用于对流程来进行的测试,,断言就是自动化测试中预期结果与实际结果的对比。
本质就是if …else
unittest常用断言
序号 方法
1 assertEqual(a,b) 判断a==b
2 assertNotEqual(a,b) 判断a !=b
3 assertTrue(x) bool (x) is True
4 assertFalse(x) bool(x) is False
5 assertIs(a, b) a is b
6 assertIsNot(a,b) a is not b
7 assertIsNone(x) x is None
8 assertIsNotNone(x) x is not None
9 assertIn(a,b) a in b
10 assertIsInstance(a,b) isinstance(a,b)
11 sssertNotIsInstance(a,b) not isinstance(a,b)
skip操作:
跳过测试用例的执行,是通过装饰器来执行
Suite:
必须新建一个类对象存放套件,直接在UnitTest类中运行生效。
HTMLTestRunner:
1、环境搭建:
1、导入环境,下载HTMLTestRunner.py,导入python中的Lib/文件夹中修改部分源码,应用于python3中:
修改需要改的,修改好了,就直接导包import os
学习了测试报告和断言,实现的完整过程