一.UnitTest框架介绍
框架说明:
1.框架英文单词framework
2.为解决一类事情的功能集合 〉需要按照框架的规定(套路)去书写代码
什么是UnitTest框架?
概念:UnitTest是Python自带的一个单元测试框架,用它来做单元测试。
自带的框架:不需要单外安装,只要安装了Python ,就可以使用
第三方框架:想要使用需要先安装后使用( pytest)
单元测试框架:主要用来做单元测试,一般单元测试是开发做的.
对于测试来说,unittest框架的作用是自动化脚本(用例代码)执行框架(使用unittest框架来管理运行多个测试用例的)
为什么使用UnitTest框架?
1.能够组织多个用例去执行
2.提供丰富的断言方法(让程序代码代替人工自动的判断预期结果和实际结果是否相符)
3.能够生成测试报告
二.UnitTest核心要素{unitest的组成)
1. TestCase
Testcase(测试用例),注意这个测试用例是unittest框架的组成部分,
不是手工和自动化中我们所说的用例(Test case)
主要作用:每个Testcase(测试用例)都是一个代码文件,在这个代码文件中﹑来书写真正的用例代码
2. TestSuite
Testsuite(测试套件),用来管理组装(打包)多个TestCase(测试用例)的
3. TestRunner
TestRunner(测试执行,测试运行),用来执行Testsuite(测试套件)的
4. TestLoader
TestLoader(测试加载),功能是对TestSuite(测试套件)功能的补充,管理组装(打包)多个Testcase(测试用例)的
5. Fixture
Fixture(测试夹具),书写在Testcase(测试用例)代码中,是一个代码结构, 可以在每个方法执行前后都会执行的内容
举例;
登录的测试用例,每个用例中重复的代码就可以写在Fixture代码结构中,只写一遍, 但每次用例方法的执行,都会执行Fixture中的代码
1.打开网站,2.登录
三.TestCase(测试用例)
1.是一个代码文件,在代码文件中来书写真正的用例代码
2.代码文件的名字必须按照标识符的规则来书写(可以将代码的作用在文件的开头使用注释说明)
步骤
1.导包(unittest)
import unittest
2.自定义测试类,需要基础unittest模块中的TestCase类即可
4、执行用例
4.1.光标放在类名后面运行
4.2.光标放在方法名后面运行
四.TestSuite & TestRunner
Testsuite(测试套件):管理打包组装Testcase(测试用例)文件的TestRunner(测试执行):执行TestSuite(套件)
·步骤
1.导包(unittest)
import unittest
2.实例化(创建对象)套件对象
suite = unittest.TestSuite()
3.使用套件对象添加用例方法
方式1 套件对象名字.addTest(测试方法类名(‘方法名’))
方式2 将一个类的所有方法添加 套件对象名字.addTest(unittest.makeSuite(测试类名))
4.实例化运行对象
runner=unittest.TextTestRunner()
5.使用运行对象去执行套件对象
runner.run(suite)
五.TestLoader (测试加载)
TestLoader(测试加载),作用和TestSuite 的作用是一样的,对 TestSuite 功能的补充,用来组装测试用例的
比如;如果Testcase的代码文件有很多, 代码实现
在一个项目中 Testcase(测试用例)的代码,一般放在一个单独的目录( case)使用步骤
六.Fixture(测试夹具)
Fixture(测试夹具)是—种代码结构
在某些特定的情况下会自动执行
1.方法级别[掌握]
在每个测试方法(用例代码〉执行前后都会自动调用的结构
方法执行之前
def setUp( self):
每个测试方法执行之前都会执行pass
方法执行之后
def tearDown(self):
每个测试方法执行之后都会执行pass
2.类级别[掌握]
在每个测试类中所有方法执行前后都会自动调用的结构(在整个类中执行之前执行之后个一次)
辞类级别的Fixture方法,是一个类方法
什类中所有方法之前
@classmethod
def setUpClass(cls):
pass
某类中所有方法之后
@classmethod
def tearDownClass(cls):
pass
3.模块级别[了解]
模块:代码文件
在每个代码文件执行前后执行的代码结构
模块级别的需要写在类的外边直接定义函数即可
代码文件之前
def setUpModule( ) :
pass
代码文件之后
def tearDownModule( ) :
pass
案例
1.打开浏览器(整个测试过程中就打开一次浏览器)类级别
2.输入网址(每个测试方法都需要一次)方法级别
3.输入用户名密码验证码点击登录(不同的测试数据)测试方法
4.关闭当前页面(每个测试方法都需要一次)方法级别
5.关闭浏览器(整个测试过程中就关闭一次浏览器)类级别
评论列表(0条)