版权声明:QQ群:796245415 个人技术交流,禁止用作商业活动 https://blog.csdn.net/chen498858336/article/details/83834467
# coding=utf-8
from selenium import webdriver
import unittest
class Login(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Chrome()
cls.driver.maximize_window()
cls.driver.implicitly_wait(30)
cls.driver.get('https://www.baidu.com/')
def test01(self):
u'验证网页title是否正确'
self.assertTrue(str(self.driver.title).startswith('百度一下'))
def test02(self):
u'验证网址是否正确'
self.assertEqual(self.driver.current_url, 'https://www.baidu.com/')
@classmethod
def tearDownClass(cls):
# cls.driver.quit()
pass
@staticmethod
def suite():
suite = unittest.makeSuite(Login) # 传入类名Login
return suite
# @staticmethod
# def suite():
# suite=unittest.TestLoader.loadTestsFromTestCase(Login) # 传入的也是类名
# return suite
if __name__ == '__main__':
unittest.TextTestRunner(verbosity=2).run(Login.suite())
加载测试用例的三种方法汇总:
# coding=utf-8
import unittest
class Test(unittest.TestCase):
def setUp(self):
self.number = input('Enter a number:')
self.number = int(self.number)
def test_case1(self):
print(self.number)
self.assertEqual(self.number, 10, msg='Your input is not 10')
def test_case2(self):
print(self.number)
self.assertEqual(self.number, 20, msg='Your input is not 20')
@unittest.skip('暂时跳过用例3的测试')
def test_case3(self):
print(self.number)
self.assertEqual(self.number, 30, msg='Your input is not 30')
def tearDown(self):
print('Test Over')
if __name__ == '__main__':
# 方案一如下:
unittest.main()
# 方案二如下:
# 8.2.1先构造测试集,实例化测试套件
suite = unittest.TestSuite()
# 8.2.1.2将测试用例加载到测试套件中。
# 执行顺序是安装加载顺序:先执行test_case2,再执行test_case1
suite.addTest(Test('test_case2'))
suite.addTest(Test('test_case1'))
# 8.2.2执行测试用例,实例化TextTestRunner类
runner = unittest.TextTestRunner()
# 8.2.2.2使用run()方法运行测试套件(即运行测试套件中的所有用例)
runner.run(suite)
# 方案三如下:
# 8.3.1构造测试集(简化了方案二中先要创建测试套件然后再依次加载测试用例)
# 执行顺序同方案一:执行顺序是命名顺序:先执行test_case1,再执行test_case2
test_dir = './'
discover = unittest.defaultTestLoader.discover(test_dir, pattern='test_*.py')
# 8.3.2执行测试用例,实例化TextTestRunner类
runner = unittest.TextTestRunner()
# 8.3.2.2使用run()方法运行测试套件(即运行测试套件中的所有用例)
runner.run(discover)