【selenium学习中级篇 -25】Unittest框架 - 用例的组织

在一个项目中往往不可能只有一个用例,也不可能只有一个页面,所有这里就涉及到用例的组织方式

unittest最核心的四部分是:TestCase,TestSuite,TestFixture,TestRunner

1.TestCase,就是外面常说的用例,记住需要以test开头

2.TestSuite,就是测试套件,可以理解为多个用例的集合,一个套件里面管理多个用例

3.TestFixture,就是测试固件,就是执行测试代码之前和之后的清扫代码,就如我们上篇中讲的setUp(),tearDown(),之类的

4.TestRunner,用来执行加载测试用例,可以加载test case,也可以加载test suite

 

在TestSuites中新建TestRunner.py作为启动用例的入口

本文会先介绍三种组织用例的方式

1.addTest(),可以加载不同类里面的不同测试函数

2.makeSuit(),一次性加载一个类文件下所有的测试用例到suite中去

3.discover(),跑testsuite包下的所有测试用例,可以在discover中直接传入包名或者文件夹名称

 

addTest()

import unittest
from TestSuites.test_baidu import TestBaiDuSearch
from TestSuites.test_baidu_01 import TestBaiDuButton


'''
addTest
'''
suite = unittest.TestSuite()
suite.addTest(TestBaiDuSearch("test_baidu"))
suite.addTest(TestBaiDuSearch("test_baidu_hao123"))
suite.addTest(TestBaiDuButton("test_baidu_more"))

if __name__ == '__main__':
    runner = unittest.TextTestRunner()
    runner.run(suite)

 

makeSuit()

import unittest
from TestSuites.test_baidu import TestBaiDuSearch
from TestSuites.test_baidu_01 import TestBaiDuButton

'''
makeSuit
'''

suite = unittest.TestSuite(unittest.makeSuite(TestBaiDuSearch))

if __name__ == '__main__':
    runner = unittest.TextTestRunner()
    runner.run(suite)

 

discover()

import unittest
from TestSuites.test_baidu import TestBaiDuSearch
from TestSuites.test_baidu_01 import TestBaiDuButton

'''
discover()
'''
suite = unittest.TestLoader().discover("TestSuites")

if __name__ == '__main__':
    runner = unittest.TextTestRunner()
    runner.run(suite)

 

posted @ 2020-05-29 15:52  RonyJay  阅读(230)  评论(0编辑  收藏  举报