def test_invest_success(self, back_home): logger.info(" **** 正向用例:登陆成功 检验:用户余额是否变化,标的可余额是否变化 ***** ") # 前置 - 步骤 - 断言 # 1、首页 - 选择第1个标,点击抢投标按钮 HomePage(back_home).click_first_invest_button() # 2、标页面 - 获取用户的 投资前的余额 bp = BidPage(back_home) user_money_before_invest = bp.get_user_left_money() # 2、标页面 - 获取标的 投资前的标余额 bid_money_before_invest = bp.get_bid_left_money() # 2、标页面 - 输入投资金额2000,点击投资按钮。 bp.invest(2000) # 3、标页面 - 点击查看并激活 bp.click_activation_button_on_success_popup() # 1、用户的钱少了没有 # 投资之前 - 投资之后 = 2000 # 用户页面 - 得到用户当前余额 user_money_after_invest = UserPage(back_home).get_user_left_money() # 2、标的可投余额少了没有 # 标前 - 标后 = 2000 # 用户页面 - 回退一次 UserPage(back_home).back_last_page().refresh_page() # 刷新页面, # 标页面 - 获取投资后的标余额 bid_money_after_invest = bp.get_bid_left_money() # 1、用户的钱少了没有 assert float(user_money_before_invest) - float( user_money_after_invest) == 2000 assert float(bid_money_before_invest) * 10000 - float( bid_money_after_invest) * 10000 == 2000
def test_invest_failed_by_No100(self, login_web): logging.info("*********投资用例:异常场景:投资金额为非100的整数倍*********") # 首页 - 选一个标来投资 - 直接选第一个标 - --- / 随机选一个 IndexPage(login_web).click_first_investButton() # 标页面 - 获取投资前的个人余额 bid_page = BidPage(login_web) userMoney_beforeInvest = bid_page.get_user_leftMoney() # 标页面 - 输入投资金额 ,点击投标按钮 bid_page.invest(ID.no100_data["money"]) # 获取提示信息 errorMsg = bid_page.get_errorMsg_from_popup() # 刷新 login_web.refresh() # 获取用户余额 userMoney_afterInvest = bid_page.get_user_leftMoney() # 断言 assert errorMsg == ID.no100_data["check"] assert userMoney_afterInvest == userMoney_beforeInvest # # def test_invest_fail_no10(self): # pass #异常场景 - 用户余额不够 - 手功用例 #异常场景 - 投资》标的可投余额 - 手功用例
def test_invest_2_failed_no(self): bp = BidPage(self.driver) bp.invest(0) time.sleep(1) expected = '请正确填写投标金额' BasePage(self.driver).wait_eleVisible(BidPageLocator.invest_failed_popup) actual = self.driver.find_element(*BidPageLocator.invest_failed_popup).text self.assertEqual(expected, actual)
def test_invest_1_failed_invalid_data(self): # IndexPage(self.driver).click_firstBid() bp = BidPage(self.driver) bp.invest(-100) time.sleep(1) expected = '请正确填写投标金额' BasePage(self.driver).wait_eleVisible(BidPageLocator.invest_failed_popup) actual = self.driver.find_element_by_xpath('//div[@class="text-center"]').text self.assertEqual(expected, actual)
def test_invest_failed_no100(self, back_home): logger.info(" **** 异常用例:投资失败 检验:???? ***** ") # 前置 - 步骤 - 断言 # 1、首页 - 选择第1个标,点击抢投标按钮 HomePage(back_home).click_first_invest_button() # 2、标页面 - 输入投资金额50,点击投资按钮。 bp = BidPage(back_home) bp.invest(50) # 断言 assert bp.get_msg_on_invest_faild_popup() == "投标金额必须为100的倍数"
def test_invest_0_failed_no100(self): IndexPage(self.driver).click_firstBid() bp = BidPage(self.driver) bp.invest(150) time.sleep(1) expected = '投标金额必须为100的倍数' # actual = BasePage(self.driver).get_element_attribute(BidPageLocator.invest_failed_popup1, "text-center", "投资_非100倍数") BasePage(self.driver).wait_eleVisible(BidPageLocator.invest_failed_popup) actual = self.driver.find_element_by_xpath('//div[@class="text-center"]').text self.assertEqual(expected, actual)
def test_invest_success(self,prepare_nev): # LoginPage(prepare_nev).login(CD.user, CD.passwd)#self.driver对象调用setupClass内里的类方法传参 #步骤 # # 1、首页 - 选标投资。默认选第一个标。 # IndexPage(prepare_nev).click_firstBid() # 2.0标页面 - 金额输入框中,获取用户投标前的余额 bp = BidPage(prepare_nev) userMoney_beforeInvest = bp.get_userLeftMoney() # 2、标页面 - 金额输入,投资操作。 bp.invest(TD.money) # 3、标页面 - 投资成功的弹出框中,点击查看并激活 bp.click_activeButton_on_investSuccess_popup() #断言 userMoney_afterInvest = UserPage(prepare_nev).get_userLeftMoney() assert float(userMoney_beforeInvest),userMoney_afterInvest+TD.money
def test_invest_3_success(self): # 步骤 # 1、首页 - 选标投资。默认选第一个标。 # IndexPage(self.driver).click_firstBid() # 2.0标页面 - 金额输入框中,获取用户的当前余额 bp = BidPage(self.driver) userMoney_beforeInvest = bp.get_userLeftMoney() money_before = int(userMoney_beforeInvest.split('.', 2)[0]) # 2、标页面 - 金额输入,投资操作。 bp.invest(TD.money) # 3、标页面 - 投资成功的弹出框中,点击查看并激活 bp.click_activeButton_on_investSuccess_popup() # 断言 userMoney_afterInvest = UserPage(self.driver).get_userLeftMoney() money_after = int((userMoney_afterInvest.split("元", 2)[0]).split('.', 2)[0]) + TD.money self.assertEqual(money_before, money_after)
def test_invest_success(self): ''' 首页-选择第一个标的前投标按钮 标的页面,获取投资前的用户余额(用于后面期望中的比较) 标的页面,输入投资金额,进行投资操作,投资成功的弹框 ''' HomePage(self.driver).click_firstBib() bid_p = BidPage(self.driver) #获取投资之前的余额 money_beforeInvest = bid_p.get_userLeftMoney() bid_p.invest(invest_1) bid_p.click_button_on_investSuccessPopup() #验证 money_afterInvest = UserPage(self.driver).get_userLeftMoney() self.assertEqual(int(float(money_beforeInvest)-float(money_afterInvest)),invest_1)
def test_invest_success(self, login_web): logging.info("*********投资用例:正常场景-投资成功*********") # 首页 - 选一个标来投资 - 直接选第一个标 - --- / 随机选一个 IndexPage(login_web).click_first_investButton() # 标页面 - 获取投资前的个人余额 bid_page = BidPage(login_web) userMoney_beforeInvest = bid_page.get_user_leftMoney() # 标页面 - 输入投资金额 ,点击投标按钮 bid_page.invest(ID.invest_money) # 标页面 - 投资成功弹出框 ,点击查看并激活按钮 bid_page.click_activeButton_from_investSuccess_popup() # #验证 # 个人页面 - 获取用户当前余额 userMoney_afterInvest = UserPage(login_web).get_user_leftMoney() # 1、余额:投资前获取一下,投资后再获取一下。求差值,如果等于投资金额,那正确。 assert ID.invest_money == int( float(userMoney_beforeInvest) - float(userMoney_afterInvest))
def test_invest_success(self): # 步骤: # 1.首页-选标 IndexPage(self.driver).click_firstBid() # 2.标页面-输入金额,进行投资 bp = BidPage(self.driver) # 2.0 标页面获取当前余额 userMoney_beforeInvest = bp.get_userLeftMoney() bp.invest(TD.money) # 3.标页面-投资成功的弹出框中,点击 查看并激活 bp.click_activeButton_on_investSuccess_popup() # 断言: # 1.投资前的金额-现在的余额=投资的金额 # 1.0个人页面获取用户可用余额 # 2.0-1.0=投资的金额 userMoney_afterInvest = UserPage(self.driver).get_userLeftMoney() investMoney = userMoney_beforeInvest - userMoney_afterInvest self.assertEqual(investMoney, TD.money)