今天了解下测试套件Test Suite,什么是测试套件,测试套件是由多个Test Case测试用例组成的,当然也可以由多个子测试套件组成。
接下来看下如果构建测试套件,构建测试套件的方法:
1、用unittest.TestSuite()实例化测试套件对象后,内部的addTest()方法对测试类内部的测试案例进行逐一添加。
1 import unittest #导入unittest 2 import time as t #导入time 设置别名 t 3 from selenium import webdriver #导入selenium中的webdriver 4 5 class page_baidu(unittest.TestCase): #定义一个类,并继承unittest.TestCase类 6 7 @classmethod #使用 @classmethod 装饰器函数,把方法变成类方法,可以直接调用方法,不需要实例化类对象就可以调用方法 8 def setUp(cls): 9 cls.driver = webdriver.Chrome() 10 cls.driver.maximize_window() 11 cls.driver.implicitly_wait(15) 12 cls.driver.get(r'') 13 t.sleep(2) 14 @classmethod 15 def tearDown(cls): 16 cls.driver.quit() 17 18 '''以下案例是测试百度首页链接''' 19 def test_baidu_001(self): #案例001 测试进入百度新闻界面 20 '''测试百度首新闻链接''' 21 self.driver.find_element_by_link_text('新闻').click() #点击百度页面,超链接【新闻】两个字 22 t.sleep(2) #设置强制等待2秒,就是必须等待,用导入的time中的sleep方法,不是全局性,哪里需要设置到哪里,局部的 23 self.driver.back() 24 def test_baidu_002(self): #案例002 测试进入百度地图界面 25 '''测试百度首地图链接''' 26 self.driver.find_element_by_link_text('地图').click() ##点击百度页面,超链接【地图】两个字 27 t.sleep(2) 28 self.driver.back() 29 30 '''以下案例是测试百度首页搜索''' 31 def test_baidu_003(self): 32 '''测试百度首页搜索功能''' 33 self.driver.find_element_by_id('kw').send_keys('你好朋友') 34 self.driver.back() 35 if __name__ =='__main__': 36 suite =unittest.TestSuite() #对测试套件这个类进行实例化对象的操作,方便后面调用它里面的方法 37 suite.addTest(page_baidu('test_baidu_001')) #addTest()是TestSuite()类中的添加测试用例的方法 38 suite.addTest(page_baidu('test_baidu_002')) #我们用addTest()方法添加page_baidu()这个测试类中的测试案例 39 suite.addTest(page_baidu('test_baidu_003')) 40 unittest.TextTestRunner(verbosity=2).run(suite) #用TextTestResult生成测试结果,结果是根据测试套件中的案例生成