setUp()、tearDown()
setUp():每个测试方法运行前进行(测试前初始化工作,一条用例执行一次,若N次用例就需要执行N次)
tearDown():每个测试方法运行结束后运行(测试后的清理工作。一条用例执行一次,若N次用例就执行N次)
比如以下测试登录:
def setUp(self):
executable_path = r"G:\BaiduNetdiskDownload\chromedriver.exe"
self.driver = webdriver.Chrome(executable_path)
self.driver.get(GD.login_url)
self.driver.maximize_window()
def tearDown(self):
self.driver.quit()
def test_a_success(self):
"""
180xxxxxxxx/123456 登陆系统成功
断言:出现首页元素'xxxxxx系统'登陆系统成功
:return:
"""
success_info = LP(self.driver).login_success(GD.AAA[0], GD.AAA[1])
print(success_info)
self.assertEqual(success_info, GD.AAA[2], msg='登录成功,出现XXXXXX系统')
time.sleep(2)
def test_b_success(self):
"""
admin/123 登陆系统失败
断言:出现提示“用户名/密码错误”
:return:
"""
Warning_Info_1 = LP(self.driver).login_error(GD.Admin[0], GD.Admin[1])
print(Warning_Info_1)
self.assertEqual(Warning_Info_1, GD.Admin[2], msg='登录失败,提示用户名/密码错误')
setUpclass():所有的测试方法运行前运行,为单元测试做前期准备,但必用@classmethod装饰器修饰,整个测试过程中只执行一次
tearDownClass():所有的测试方法运行结束后运行,为单元测试做后期清理工作,但必须使用@classmethod装饰器进行修饰,整个测试过程中只执行一次
@classmethod
def setUpClass(cls):
executable_path = r"G:\BaiduNetdiskDownload\chromedriver.exe"
cls.driver = webdriver.Chrome(executable_path)
cls.driver.get(GD.login_url)
cls.driver.maximize_window()
cls.driver.find_element(*LPL.user_loc).send_keys(GD.AAA[0])
cls.driver.find_element(*LPL.password_loc).send_keys(GD.AAA[1])
cls.driver.find_element(*LPL.login_button_loc).click()
# 测试结束关闭浏览器
@classmethod
def tearDownClass(cls):
cls.driver.quit()
def test_a_businesstrip_list(self):
"""
点击“办公管理”----“出差”进入出差列表页面
页面跳转正确则成功
:return:
"""
success_detail = BTP(self.driver).bustrip_list_perc()
time.sleep(1)
print(success_detail)
self.assertEqual(success_detail,"出差")
def test_b_business_add(self):
"""
在出差列表页面,添加一条出差数据,如果成功,则列表数目加1
:return:
"""
results = BTP(self.driver).bustrip_add_perc(ID.add_business_datas1['Business_Area'],ID.add_business_datas1['Business_Reason'])
print(results)
if type(results[0]) == str:
num_1 = int(re.findall(r"\d+\.?\d*", results[0])[0])
else:
num_1 = results[0]
num_2 = int(re.findall(r"\d+\.?\d*", results[1])[0])
print(num_1,num_2)
self.assertEqual(num_1 + 1, num_2)