import unittest import time from selenium import webdriver import os class test_baidu1(unittest.TestCase): def setUp(self): # 获取驱动器路径 current_path = os.path.dirname(__file__) # 获取当前路径 driver_path = os.path.join(current_path, '../../../driver/chromedriver.exe') # 把当前路径+chromedriver路径相连 self.driver = webdriver.Chrome(executable_path=driver_path) self.driver.get('https://www.baidu.com') self.driver.maximize_window() def tearDown(self): time.sleep(1) self.driver.quit() def test_cat(self): self.driver.find_element_by_name('wd').send_keys('熊猫') self.driver.find_element_by_id('su').click() time.sleep(1) self.assertEqual(self.driver.title, "熊猫_百度搜索") def test_dog(self): self.driver.find_element_by_name('wd').send_keys('狗') self.driver.find_element_by_id('su').click() time.sleep(1) self.assertEqual(self.driver.title, "狗_百度搜索") def test_pig(self): self.driver.find_element_by_name('wd').send_keys('猪') self.driver.find_element_by_id('su').click() time.sleep(1) self.assertEqual(self.driver.title, "猪_百度搜索") def suite(): suite = unittest.TestSuite() # 创建套间对象 suite.addTest(test_baidu1('test_cat')) # 类名(方法名) suite.addTest(test_baidu1('test_dog')) # 类名(方法名) suite.addTest(test_baidu1('test_pig')) # 类名(方法名) return suite if __name__ == '__main__': unittest.main(defaultTest='suite') # 只会执行套件内的方法
import unittest import time from selenium import webdriver import os class test_baidu2(unittest.TestCase): def setUp(self): # 获取驱动器路径 current_path = os.path.dirname(__file__) # 获取当前路径 driver_path = os.path.join(current_path, '../../../driver/chromedriver.exe') # 把当前路径+chromedriver路径相连 self.driver = webdriver.Chrome(executable_path=driver_path) self.driver.get('https://www.baidu.com') self.driver.maximize_window() def tearDown(self): time.sleep(1) self.driver.quit() def test_cat(self): self.driver.find_element_by_name('wd').send_keys('虫子') self.driver.find_element_by_id('su').click() time.sleep(1) self.assertEqual(self.driver.title, "虫子_百度搜索") def test_dog(self): self.driver.find_element_by_name('wd').send_keys('狗熊') self.driver.find_element_by_id('su').click() time.sleep(1) self.assertEqual(self.driver.title, "狗熊_百度搜索") def test_pig(self): self.driver.find_element_by_name('wd').send_keys('土家猪') self.driver.find_element_by_id('su').click() time.sleep(1) self.assertEqual(self.driver.title, "土家猪_百度搜索") def suite(): suite = unittest.TestSuite() # 创建套间对象 suite.addTest(test_baidu2('test_cat')) # 类名(方法名) suite.addTest(test_baidu2('test_dog')) # 类名(方法名) suite.addTest(test_baidu2('test_pig')) # 类名(方法名) return suite if __name__ == '__main__': unittest.main(defaultTest='suite') # 只会执行套件内的方法
# 运行主入口,执行test_case 下所有模块 import os # 获取目录下所有的文件名 current_path = os.path.dirname(__file__) # 获取本地路径 case_path = os.path.join(current_path, 'unittest_case') # 本地路径进入 unittest_case 文件 file_name = os.listdir(case_path) # 查找unitest_case 下.py 的文件 ['dome01.py', 'dome02.py', '__init__.py'] print(file_name) # 执行所有 .py结尾的文件 for file in file_name: # 遍历 file_name 文件 f = file.split('.')[-1] # 切割 ['dome01', 'py'] ['dome02', 'py'] ['__init__', 'py'] if f == 'py': os.system('python ' + case_path+'/'+file+' 1>>log.txt 2>&1')
import os, unittest, datetime import HTMLTestRunner current_path = os.path.dirname(__file__) # 获取当前地址 case_path = os.path.join(current_path,'unittest_case') # 读取目录下所有模块中测试方法【此方法必须用test开头的方法名】 discover = unittest.defaultTestLoader.discover(start_dir=case_path, pattern='dome*.py', top_level_dir=None) # print(discover) # 创建总套间 main_suite = unittest.TestSuite() main_suite.addTests(discover) # now = datetime.now() # report_file = current_path + "/test_report/time_report_{}.html".format(now) report_file = current_path+ "/test_report/report.html" print(report_file) report_ojb = open(report_file, 'wb') runner = HTMLTestRunner.HTMLTestRunner(stream=report_ojb, title="百度搜索测试报告", description="用例执行情况") # 执行整个测试套件 runner.run(main_suite) # if __name__ == '__main__': # unittest.main(defaultTest='main_suite')