zoukankan      html  css  js  c++  java
  • 【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)
  • 相关阅读:
    MySQL left join 查询很慢(1)
    Windows 搭建 hbase 单机版
    Spark SQL 编程(七)
    Spark RDD 操作(三)
    并发编程(一)
    并发编程之 multiprocessing 和 concurrent.futures(二)
    Spark 系列之环境搭建(一)
    Python3之并发(七)---线程同步队列(queue)
    Python3之并发(六)---线程池
    Python3之并发(五)---线程条件(Condition)和事件(Event)
  • 原文地址:https://www.cnblogs.com/ronyjay/p/12987877.html
Copyright © 2011-2022 走看看