python与selenium自动化基础-unittest

unittest简单使用

1.unittest.main()运行时,框架自动寻找TestCase子类,并且运行
2.在TestCase类中,只把以test开头的方法当做测试用例,然后执行
3.setUp()用于初始化一些参数,在测试用例执行前自动被调用,tearDown()用于清理,在测试用例执行后被调用

# 导入unittest模块
import unittest

# 继承TestCase类,TestCase类是测试用例类
class Test1(unittest.TestCase):
    def setUp(self):
        print('hello')

    def tearDown(self):
        print('bye')

    def test_001(self):
        print('001')

    def test_002(self):
        print('002')

    def test_003(self):
        print('003')

# class Test2(unittest.TestCase):
#
#     def test_001(self):
#         print('201')
#
#     def test_002(self):
#         print('202')

if __name__ == '__main__':
    unittest.main()

1.通过继承unittest.TestCase进行编写,继承unittest.TestCase的类会被框架识别为测试用例。
2.setUp和TearDown是用于事前和事后做相关处理动作的,就是前面说的Test Fixture,会在每个测试用例运行前后被框架自动调用
3.所有以test开头的方法会被框架自动识别为测试用例,并自动调用执行,不是以test开头的不会被调用
4.unittest.main()是最简单的测试执行方式
5.调用unittest.main()方法后,继承自unittest.TestCase类的类会被自动识别为测试用例并且被调用。

# 导入unittest模块
import unittest

# 继承TestCase类,TestCase类是测试用例类
class Test1(unittest.TestCase):
    def setUp(self):
        print('hello')

    def tearDown(self):
        print('bye')

    def test_001(self):
        print('001')

    def test_002(self):
        print('002')

    def test_003(self):
        print('003')

if __name__ == '__main__':
    # 创建测试套件
    suit = unittest.TestSuite()
    # 定义一个测试用例列表
    case_list= ['test_001','test_002','test_003']
    for case in case_list:
        suit.addTest(Test1(case))

    # 运行测试用例,verbosity=2为每一个测试用例输出报告,run的参数是测试套件
    unittest.TextTestRunner(verbosity=2).run(suit)

unittest断言

断言是测试用例的核心。我们使用assertEqual()来判断预期结果,用assertTrue()和assertFalse来做是非判断。
assertEqual(value1,value2)     value1:期望的值,value2:实际的值

import unittest

class Test(unittest.TestCase):
    def setUp(self):
        print('start')

    def tearDown(self):
        print('bye')

    def test_001(self):
        self.assertEqual('1','1')

    def test_002(self):
        self.assertEqual('1','0')

if __name__ == '__main__':
    unittest.main()

原文地址:https://www.cnblogs.com/peiya/p/13499247.html