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)
Example #3
0
 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)
Example #5
0
    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
Example #6
0
 def test_invest_failed_no100(self,prepare_nev):
     # LoginPage(prepare_nev).login(CD.user,CD.passwd)
     #首页-抢投标按钮-进入投标页面
     IndexPage(prepare_nev).click_firstBid()
     #投标输入框,输入
     time.sleep(3)
     BidPage(prepare_nev).invest(110)
     #点击投标按钮
     a = BidPage(prepare_nev).get_errorMsg_from_pageCenter()
     #断言文本定位://div[@class="text-center"]
     assert a,'投标金额必须为100的倍数'
Example #7
0
 def test_invest_failed_invalid_data(self,prepare_nev):
     # time.sleep(5)
     # LoginPage(prepare_nev).login(CD.user, CD.passwd)
     # # 首页-抢投标按钮-进入投标页面
     # IndexPage(prepare_nev).click_firstBid()
     # 投标输入框,输入
     time.sleep(3)
     input_clear=BidPage(prepare_nev).invest(00000)
     # 点击投标按钮
     a = BidPage(prepare_nev).get_errorMsg_from_pageCenter()
     # 断言文本定位://div[@class="text-center"]
     assert a, '请正确填写投标金额'
Example #8
0
 def test_invest_failed_no10(self,prepare_nev):
     # time.sleep(5)
     # LoginPage(prepare_nev).login(CD.user,CD.passwd)
     # 首页-抢投标按钮-进入投标页面
     # time.sleep(3)
     # IndexPage(prepare_nev).click_firstBid()
     # 投标输入框,输入
     time.sleep(3)
     BidPage(prepare_nev).bid(72)
     # 点击投标按钮
     a = BidPage(prepare_nev).get_button_text()
     # 投资为1的时候按钮定位://button[@class="btn btn-special height_style"]
     assert a, '请输入10的整数倍'
Example #9
0
 def setUpClass(cls):
     logging.info("=====用例类前置:初始化浏览器会话=======")
     cls.driver = webdriver.Chrome()
     cls.driver.maximize_window()
     cls.driver.get(CD.web_login_url)
     LoginPage(cls.driver).login(CD.user, CD.password)
     IndexPage(cls.driver).click_first_bid()
     cls.bid_page = BidPage(cls.driver)
Example #10
0
def init_driver():
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get(CD.login_url)
    LoginPage(driver).login(CD.user, CD.passwd)
    bp = BidPage(driver)
    yield driver,bp
    driver.quit()
Example #11
0
    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


#异常场景  - 用户余额不够 - 手功用例
#异常场景  - 投资》标的可投余额 - 手功用例
Example #12
0
 def test_invest_failed_invalid_money(self, invalid_data):
     logging.info("投资功能 - 异常场景用例:投资金额有效性校验 - 投资金额为非100的整数倍、错误的格式等")
     # 1、标页面 - 获取输入框当中,投资前的用户余额
     user_money_before_invest = BidPage(self.driver).get_user_money()
     # 2、标页面 - 获取标的余额,投资前。
     bid_money_before_invest = BidPage(self.driver).get_bid_left_money()
     # 3、标页面:投标动作;
     self.BidPage(self.driver).invest(invalid_data["money"])
     # 4、获取页面提示信息
     error_msg = self.BidPage(self.driver).get_errorMsg_from_pageCenter()
     # 5、刷新当前页面,获取用户余额、标余额。
     self.driver.refresh()
     user_money_after_invest = self.BidPage(self.driver).get_user_money()
     bid_money_after_invest = self.BidPage(self.driver).get_bid_left_money()
     # 6、断言 - 提示信息是否正确。标的金额不变,用户的余额也不变。
     self.assertEqual(error_msg, invalid_data["check"])
     self.assertEqual(user_money_before_invest, user_money_after_invest)
     self.assertEqual(bid_money_before_invest, bid_money_after_invest)
Example #13
0
 def setUpClass(cls):
     cls.driver = webdriver.Chrome()
     cls.driver.maximize_window()
     cls.driver.get(login_url)
     cls.lg = LoginPage(cls.driver)
     cls.lg.login(noraml_login['phone'], noraml_login['pwd'])
     cls.indexpage = IndexPage(cls.driver)
     cls.indexpage.click_bid_random()
     cls.bit = BidPage(cls.driver)
 def setUpClass(cls):
     # 初始化浏览器会话
     logging.info("===用例类前置:初始化浏览器会话,登陆前程贷系统=======")
     cls.driver = webdriver.Chrome()
     cls.driver.maximize_window()
     cls.driver.get(CD.web_login_url)
     LoginPage(cls.driver).login(CD.user, CD.passwd)
     # 首页 - 选一个标来投资 - 直接选第一个标 -- / 随机选一个
     IndexPage(cls.driver).click_first_bid()
     cls.bid_page = BidPage(cls.driver)
Example #15
0
 def setUpClass(cls):
     # 初始化浏览器会话
     # 通过excel读取本功能当中需要的所有测试数
     cls.driver = webdriver.Chrome()
     cls.driver.maximize_window()
     cls.driver.get(CD.web_login_url)
     LoginPage(cls.driver).login(LD.success_data["user"],
                                 LD.success_data["password"])
     # 1. 在首页投资 ---不根据标名,根据抢投标。默认第一个表
     IndexPage(cls.driver).click_first_bid()
     cls.bid_page = BidPage(cls.driver)
Example #16
0
    def setUpClass(cls):
        cls.driver = webdriver.Chrome()
        cls.driver.get('http://120.78.128.25:8765/Index/login.html')
        cls.driver.maximize_window()
        cls.ip = IndexPage(cls.driver)
        cls.bp = BidPage(cls.driver)
        cls.lp = LoginPage(cls.driver)
        cls.up = UserPage(cls.driver)

        # 登陆账号
        cls.lp.login(LD.sucess_data['phone'], LD.sucess_data['password'])
        # 选择投标
        cls.ip.select_invest()
Example #17
0
 def test_invest_success(self):
     """
     正向场景 - 投资成功:投资金额固定为20000
     """
     # 步骤
     logging.info("投资功能 - 正常场景用例:投资20000元成功。用户可用余额减少20000,标余额减少20000 ")
     # 1、首页 - 第一标 - 抢投标
     HomePage(self.driver).click_first_bid()
     # 2、标页面 - 获取输入框当中,投资前的用户余额
     user_money_before_invest = BidPage(self.driver).get_user_money()
     # 3、标页面 - 获取标的余额,投资前。
     bid_money_before_invest = BidPage(self.driver).get_bid_left_money()
     # 4、标页面 - 输入金额20000,点击投标
     BidPage(self.driver).invest(ID.success["money"])
     # 5 、标页面 - 成功弹出框当中,点击查看并激活
     BidPage(self.driver).click_active_button_in_success_popup()
     # 6 、个人页面获取用户的余额
     user_money_after_invest = UserPage(self.driver).get_user_left_money()
     # 7 、 回退到表页面刷新后再次获取表的余额
     self.driver.back()
     time.sleep(2)
     self.driver.refresh()
     #成功投资后标的余额
     bid_money_after_invest = self.bp.get_bid_left_money()
     # 断言
     # 1、用户余额少了20000
     self.assertEqual(
         ID.success["money"],
         int(
             float(user_money_after_invest) -
             float(user_money_before_invest)))
     # 2、标的可投余额少了20000
     self.assertEqual(
         ID.success["money"],
         int(
             float(bid_money_after_invest) -
             float(bid_money_before_invest)))
Example #18
0
def access_invest():
    global driver
    # 初始化浏览器会话
    logger.info("======用例类前置:初始化浏览器会话,登录XXX系统======")
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get(CD.web_login_url)
    LoginPage(driver).login(CD.user, CD.passwd)
    # 首页-选一个标来投资,直接选第一个标/随机选一个标
    IndexPage(driver).click_bid_by_random()
    ## 投标页面
    bid_page = BidPage(driver)
    yield (driver,bid_page)
    logger.info("======用例类后置:关闭浏览器会话,清理环境======")
    driver.quit()
Example #19
0
 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)
Example #21
0
    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)
Example #22
0
 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))
Example #23
0
 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)
Example #24
0
 def test_invest_failed_no10(self):
     IndexPage(self.driver).click_firstBid()
     invest_no10_Failed = BidPage(self.driver).invest_no10_Failed(TD.no10_money)
     # 断言
     self.assertEqual("请输入10的整数倍", invest_no10_Failed)