class TestBid(unittest.TestCase): def setUp(self) -> None: """ 前置条件: 1, 登录 :return: """ self.driver = webdriver.Chrome() self.driver.implicitly_wait(20) # 初始化页面 self.login_page = LoginPage(self.driver) self.index_page = IndexPage(self.driver) # 登录 login_data = login_data_success[0] self.login_page.login(login_data['mobile'], login_data['pwd']) def tearDown(self) -> None: pass def test_bid_error(self): "测试投资失败" time.sleep(1) self.index_page.get() # 如果不等待新页面出现而直接定位元素,可能找到的是上一个页面当中的元素。 self.index_page.get_element_bid().click() print('hello')
class TestLogin(unittest.TestCase): def setUp(self) -> None: # 1, 打开浏览器; self.driver = webdriver.Chrome() # 设置隐式等待 self.driver.implicitly_wait(20) # 初始化要用到的页面 self.login_page = LoginPage(self.driver) self.index_page = IndexPage(self.driver) def tearDown(self) -> None: self.driver.quit() # @ddt.data(*login_data_error) # def test_login_error(self, test_info): # """手机号码为空""" # # 第一个:获取实际结果(封装以后执行的函数或者方法) res = request.visit() # self.login_page.login(test_info['mobile'], test_info['pwd']) # actual = self.login_page.get_error_msg() # # 第二个:获取预期结果 test_info【‘expected’】 # expected = test_info['expected'] # # 第三个:断言 # self.assertEqual(expected, actual) # 获取没有通过授权 # @ddt.data(*login_data_invalid) # def test_login_invalid(self, test_info): # # 登录 # self.login_page.login(test_info['mobile'], test_info['pwd']) # # 获取没有通过授权的实际结果 # actual = self.login_page.get_invalid_msg() # expected = test_info['expected'] # self.assertEqual(expected, actual) # 讲登录成功 @ddt.data(*login_data_success) def test_login_success(self, test_info): """登录成功""" # 执行登录操作, login_page.login() self.login_page.login(test_info['mobile'], test_info['pwd']) # 进入了??页面 我的帐户[python] # 定位我的账户 # 等待窗口被打开 time.sleep(1) self.index_page.get() actual = self.index_page.get_element_user() # 预期结果 expected = test_info['expected'] self.assertIn(expected, actual.text)
class TestLogin(unittest.TestCase): def setUp(self) -> None: # 1, 打开浏览器; self.driver = webdriver.Chrome() # 设置隐式等待 self.driver.implicitly_wait(20) # 初始化要用到的页面 self.login_page = LoginPage(self.driver) self.index_page = IndexPage(self.driver) def tearDown(self) -> None: self.driver.quit() # @ddt.data(*test_data) # def test_login_error(self, test_info): # """手机号码为空""" # # 第一个:获取实际结果(封装以后执行的函数或者方法) res = request.visit() # self.login_page.login(test_info['mobile'], test_info['pwd']) # actual = self.login_page.get_error_msg() # # 第二个:获取预期结果 test_info【‘expected’】 # expected = test_info['expected'] # # 第三个:断言 # self.assertEqual(expected, actual) # 讲登录成功 def test_login_success(self): """登录成功""" # 执行登录操作, login_page.login() self.login_page.login("18684720553", 'python') # 进入了??页面 我的帐户[python] # 定位我的账户 self.index_page.get() actual = self.index_page.get_element_user() print("打印实际结果:",actual) # 预期结果 expected = '我的帐户[python]' self.assertIn(expected , actual.text)
class TestBid(unittest.TestCase): def setUp(self) -> None: """ 前置条件: 1, 登录 :return: """ self.driver = webdriver.Chrome() # self.driver.save_screenshot() self.driver.implicitly_wait(20) # 初始化页面 self.login_page = LoginPage(self.driver) self.index_page = IndexPage(self.driver) self.bid_page = BidPage(self.driver) self.user_page = UserPage(self.driver) # 登录 login_data = login_data_success[0] self.login_page.login(login_data['mobile'], login_data['pwd']) def tearDown(self) -> None: pass # def test_bid_error(self): # "测试投资失败" # time.sleep(1) # self.index_page.get() # # # 如果不等待新页面出现而直接定位元素,可能找到的是上一个页面当中的元素。 # self.index_page.get_element_bid().click() # # # 定位投标输入框 # bid_element = self.bid_page.get_element_bid_input() # # # 发送投标金额 # bid_element.send_keys("1") # # # 获取实际结果 # actual = self.bid_page.get_element_bid_btn().text # self.assertEqual(actual, '请输入10的整数倍') # PO def test_bid_success(self): """测试投资成功""" time.sleep(1) self.index_page.get() # 如果不等待新页面出现而直接定位元素,可能找到的是上一个页面当中的元素。 self.index_page.get_element_bid().click() # 定位投标输入框 bid_element = self.bid_page.get_element_bid_input() # 获取余额, 字符串 money_before = bid_element.get_attribute("data-amount") # 发送投标金额 bid_element.send_keys("100") self.bid_page.get_element_bid_btn().click() # 如何断言投资成功 actual = self.bid_page.get_success_msg().text self.assertEqual(actual, '投标成功!') # 断言余额是否正确扣除, # 1, 获取投标之前的余额 # 2, 获取投标之后的余额 == self.bid_page.get_active_btn().click() # user 页面 获取投标之后的余额 money_after = self.user_page.get_element_money().text[:-1] self.assertEqual( Decimal(money_before) - Decimal("100"), Decimal(money_after))