自动化框架*
一、介绍框架
1、unittest 框架是python中自带的框架
2、作用:管理和组织测试用例
当我们写的用例越来越多,我们就要考虑用例的编写的规范和组织,以便于后期的维护
3、常见的自动化框架:po框架、pytest 框架、unittest框架(我们讲解)
4、unitest 框架自带标准的库:有如下
a、TestCase类 (测试用例)
b、TestSuite类 (测试套件)
c、TestLoader类 (测试路径)
d、TextTestRunner类 (测试运行)
e、TextTestResult类 (测试结果)
f、TestFixture类 (测试前后准备)
解释下:
TestCase:
一个Testcase的实例就是一个测试用例,测试用例就是一个完整的测试流程,包括初始化setUp、运行run、测试后的还原tearDown
TestSuite:
对一个功能的测试往往需有多个测试用例,可以把多的测试用例集合在一起执行,这就是TestSuite的概念。常用addTest()方法将一个测试用例添加到测试套件中
TextTestRunner:
是用来执行测试用例的,其中的run(test)用来执行TestSuite/TestCase。测试的结果会保存在TextTestResult实例中
TestFixture:
测试准备前要做的工作和测试执行完后要做的工作.包括setUp()和tearDown()。通过覆盖TestCase的setUp和tearDown来实现。
TestLoader:
是用来搜索所有以test开头的测试用例,然后将其加入到testsuite中去执行
5、unittest的框架的结构:
import unittest # 导入unittest框架
class Cms_Test(unittest.TestCase): # 创建一个类,一个testcase就是一个用例 ,继承unittest.testcase
# 类方法
@classmethod #定义一个类方法
def setUpClass(cls) -> None: #类的开始,在整个框架中只执行一次
print("类开始")
@classmethod #定义一个类方法
def tearDownClass(cls) -> None: #类的结束 ,在整个框架中只执行一次
print("类的结束")
def setUp(self) -> None: #方法的开始 ,每一条用例执行,他们都去执行
print("方法的开始")
def tearDown(self): #方法结束 ,每条用例都会去执行
print("方法结束")
def test1(self): #用例1 tset 以test开头
print("1111") #用例内容 (写在函数内,也可以模块在群用,等)
def test3(self):#
print("3333")
def test2(self):
print("2222")
def testa(self):
print("aaaa")
def testA(self):
print("AAAA")
def dcs(self): # 没有以test开头的用例 ,不被运行
print("dcs独有")
if __name__ == '__main__':
unittest.main() #第一种执行方法,执行全部的用例
结果:
类开始类的结束
方法的开始
1111
方法结束
方法的开始
2222
方法结束
方法的开始
3333
方法结束
方法的开始
AAAA
方法结束
方法的开始
aaaa
方法结束
备注:
1、类的开始,类的结束,方法开始,方法结束都可以不写
2、用例要以test开头,如果没有以test开头就不运行
3、test开头的用例运行顺序: 按ascllma标准:0-9 A-Z a-z
4、类的开始,类的结束在整个框架中就运行一次
5、方法开始和方法结束,每一条用例都执行
标签:框架,Python,unittest,用例,自动化,print,方法,def From: https://www.cnblogs.com/weiyus1916/p/18552533