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()
完