class TestLogin(unittest.TestCase): #前置条件将重复的逻辑都放在前置条件里面 def setUp(self) -> None: # 1, 打开浏览器; self.driver = webdriver.Chrome() # 设置隐式等待 self.driver.implicitly_wait(20) # 初始化要用到的页面 self.login_bank_page = LoginPage(self.driver) self.index_bank_page = IndexPage(self.driver) #关闭游览器 def tearDown(self) -> None: self.driver.quit() # #没有授权的登录 # # 获取没有通过授权 @pytest.mark.failed @ddt.data(*login_data_invalid) def test_login_02_invalid(self, test_info): # 登录 self.login_bank_page.login(test_info['username'], test_info['pwd']) time.sleep(2) # 获取没有通过授权的实际结果 actual = self.login_bank_page.get_invalid_msg() expected = test_info['expected'] self.assertEqual(expected, actual)
class TestLogin(unittest.TestCase): #前置条件将重复的逻辑都放在前置条件里面 def setUp(self) -> None: # 1, 打开浏览器; self.driver = webdriver.Chrome() # 设置隐式等待 self.driver.implicitly_wait(20) # 初始化要用到的页面 self.login_bank_page = LoginPage(self.driver) self.index_bank_page = IndexPage(self.driver) #关闭游览器 def tearDown(self) -> None: self.driver.quit() # @ddt.data(*test_data_error_01) # def test_login_01_error(self,test_info):#用test_info来接收test_data拆包后的参数,加数字可以代表执行的先后顺序 # """手机号码为空""" # # 第一个:获取实际结果(封装以后执行的函数或者方法) res = request.visit() # # actual = login(self.driver, test_info["username"], test_info["pwd"]) # # actual = self.login_bank_page.login(test_info['username'], test_info['pwd']) # # #将获取错误信息进行重新封装后要这么写 # self.login_bank_page.login(test_info['username'], test_info['pwd']) # actual = self.login_bank_page.get_error_msg() # # 第二个:获取预期结果 test_info【‘expected’】 # expected = test_info['expected'] # # 第三个:断言 # self.assertEqual(expected, actual) #没有授权的登录 # 获取没有通过授权 @ddt.data(*login_data_invalid) def test_login_02_invalid(self, test_info): # 登录 self.login_bank_page.login(test_info['username'], test_info['pwd']) # time.sleep(2) # 获取没有通过授权的实际结果 actual = self.login_bank_page.get_invalid_msg() expected = test_info['expected'] self.assertEqual(expected, actual)