学习说明
这里主要是学习并掌握各种setup、tearDown、断言方法,
- [ ] 重点解释:
用setUp与setUpClass区别
- setup():每个测试case运行前运行
- teardown():每个测试case运行完后执行
- setUpClass():必须使用@classmethod 装饰器,所有case运行前只运行一次
- tearDownClass():必须使用@classmethod装饰器,所有case运行完后只运行一次
@是修饰符,classmethod是python里的类方法
具体代码
import unittest
from time import sleep
from selenium import webdriver
import warnings
class MyTestCase(unittest.TestCase):
# 最开始运行
@classmethod
def setUpClass(cls) -> None:
warnings.simplefilter('ignore', ResourceWarning)
print("setUpClass....")
cls.driver = webdriver.Edge("F:\python\protect\自动化测试\my_selemium_project\drivers/msedgedriver.exe")
cls.driver.get("https://www.baidu.com/")
cls.driver.maximize_window()
# 每个case前运行
def setUp(self) -> None:
print("setup....")
# 每个case后运行
def tearDown(self) -> None:
print("tearDown....")
def test01(self):
self.driver.find_element_by_id("kw").send_keys("selemium")
self.driver.find_element_by_id("su").click()
print("test01")
sleep(5)
def test02(self):
print("test02")
self.assertEqual(1+2, 3)
self.assertGreaterEqual(5,4)
self.assertIn(10,[1,2,3]) # 看10有没有在里面
# 不是test开头不运行
def aaa(self):
print("aaa")
# 最后运行
@classmethod
def tearDownClass(cls) -> None:
print("tearDownClass....")
cls.driver.quit()
if __name__ == '__main__':
unittest.main()