def test_Continued_investment(self): """交易记录-续投记录验证""" entry_page = Entry_page(self.driver, phone="14404414441", pwd="qwe123") mytradeRecordPage = entry_page.open_my_tradeRecord_page() mytradeRecordPage.el_trade_list_image.click() trade_list_dict = mytradeRecordPage.logic_get_reinvest_way() sql = Exce_SQLserver() data_trade_list = sql.execSql_getList( "SELECT top 10 new_renewmethod,new_expectprofit,new_newcontractno FROM new_renewapplyBase WHERE new_customer ='47A24DAD-E65A-E711-80C9-00155D01F903'" ) entry_page.saveScreenshot("Continued_investment") #断言续投方式 self.assertEquals(data_trade_list[0][0], 100000001) self.assertEquals(trade_list_dict['reinvest_way'], "本金续投") #断言预期收益 self.assertIn( str(data_trade_list[0][1])[:5], trade_list_dict['expect_incomeself']) #断言续投编号 self.assertEquals(trade_list_dict['el_reinvest_contract_no'], data_trade_list[0][2])
def test_financial_list(self): "投资记录-理财中列表数据验证" entry_page = Entry_page(self.driver) myinvsetrecorepage=entry_page.open_my_invset_recore_Page() invest_list_value=myinvsetrecorepage.logic_get_invest_value() sql = Exce_SQLserver() contract_number = sql.execSql_getList("SELECT top 1 new_product_name,new_name,new_instreststartdate,new_quitdate,new_planmoney,new_planmoney_Base from new_investdetailBase WHERE new_accountname = '24004F6C-7C08-E711-80C9-00155D01F903' AND new_status=100000000 order BY new_paidon desc") entry_page.saveScreenshot('financial_data') #断言验证 #断言理财名称 self.assertIn(invest_list_value["invest_text_name"],contract_number[0][0]) #断言合同编号 self.assertIn(contract_number[0][1],invest_list_value["invest_product_no"]) #断言起息日 self.assertEquals(invest_list_value["start_income_day"], (contract_number[0][2].date()+datetime.timedelta(days = 1)).strftime("%Y-%m-%d")) #断言结息日 if '年年生利' in invest_list_value["invest_text_name"]: self.assertIn("随时申请退出",invest_list_value["end_income_day"]) else: self.assertEquals(invest_list_value["end_income_day"],(contract_number[0][3].date().strftime("%Y-%m-%d"))) #断言 实际投资金额 self.assertIn(str(contract_number[0][4])[:-6]+ ","+ str(contract_number[0][4])[-6:],invest_list_value["reality_invest"]) #断言 意向投资金额 self.assertIn(str(contract_number[0][5])[:-6]+ ","+ str(contract_number[0][5])[-6:],invest_list_value["expected_invest"])
def test_Exited_list(self): "投资记录-已退出列表数据验证" entry_page = Entry_page(self.driver,phone='17712345606',pwd='qwe123') myinvsetrecorepage = entry_page.open_my_invset_recore_Page() time.sleep(0.2) myinvsetrecorepage.el_exited_btn.click() invest_list_value = myinvsetrecorepage.logic_get_invest_value() sql = Exce_SQLserver() contract_number = sql.execSql_getList( "SELECT top 1 new_product_name,new_name,new_instreststartdate,new_quitdate,new_planmoney,new_planmoney_Base from new_investdetailBase WHERE new_accountname = 'F86EEE35-2940-E711-80D3-00155D02B414' AND new_status=100000002 order BY new_paidon desc") entry_page.saveScreenshot('test_Exited_list') # 断言验证 # 断言理财名称 self.assertIn(invest_list_value["invest_text_name"], contract_number[0][0]) # 断言合同编号 self.assertIn(contract_number[0][1], invest_list_value["invest_product_no"]) # 断言起息日 self.assertEquals(invest_list_value["start_income_day"], (contract_number[0][2].date() + datetime.timedelta(days=1)).strftime("%Y-%m-%d")) # 断言结息日 self.assertEquals(invest_list_value["end_income_day"], (contract_number[0][3].date() + datetime.timedelta(days=1)).strftime("%Y-%m-%d")) # 断言 实际投资金额 self.assertIn(str(contract_number[0][4])[:-6] + "," + str(contract_number[0][4])[-6:], invest_list_value["reality_invest"]) # 断言 意向投资金额 self.assertIn(str(contract_number[0][5])[:-6] + "," + str(contract_number[0][5])[-6:], invest_list_value["expected_invest"])
def test_user_Information(self): """个人中心-个人信息验证""" entry_page = Entry_page(self.driver, phone="18048444414", pwd='qwe123') myPersonalCenterPage = entry_page.open_my_Personal_CenterPage() user_information = myPersonalCenterPage.logic_get_user_information() sql = Exce_SQLserver() sql_user_information = sql.execSql_getList( "SELECT Name,new_telephone1,new_certificatenum from AccountBase WHERE new_telephone1={phone}" .format(phone=entry_page.phone)) "" [('username', u'u***1'), ('phonenum', u'144****8098'), ('ID', u'411***********3286')] [(u'14488888098', u'ufo21', 411224197404103286)] "" username = sql_user_information[0][0] phonenum = sql_user_information[0][1] ID = sql_user_information[0][2] entry_page.saveScreenshot('user_Information') #断言 self.assertEquals(user_information["username"], username[:1] + '*' + username[-1:]) self.assertEquals(user_information["phonenum"], phonenum[:3] + '****' + phonenum[-4:]) self.assertEquals(user_information["ID"], ID[:3] + '***********' + ID[-4:])
def test_payment_record(self): """交易记录-回款记录验证""" entry_page = Entry_page(self.driver, phone="14454839876", pwd="qwe123") mytradeRecordPage = entry_page.open_my_tradeRecord_page() mytradeRecordPage.el_trade_list_image.click() trade_list_dict = mytradeRecordPage.logic_get_trade_list() sql = Exce_SQLserver() data_trade_list = sql.execSql_getList( "SELECT top 1 new_product_name,new_payamount,new_paydate,new_paymentstatus,new_paymentno,new_txtinvestapply FROM new_tradedetailBase WHERE new_account ='6B5A5084-9C49-E711-80D3-00155D02B414'" ) entry_page.saveScreenshot("payment_record") #断言理财名称 self.assertIn(trade_list_dict['name'], data_trade_list[0][0]) #断言金额 self.assertIn( str(data_trade_list[0][1])[:-6] + "," + str(data_trade_list[0][1])[-6:], trade_list_dict['amount']) #断言时间 self.assertIn((data_trade_list[0][2].date().strftime("%Y-%m-%d")), trade_list_dict['data']) #断言交易流水 self.assertEquals(trade_list_dict['flowing'], data_trade_list[0][4]) #断言理财状态 self.assertEquals(data_trade_list[0][3], 100000003) #断言合同编号 self.assertEquals(trade_list_dict['contract_no'], data_trade_list[0][5])
def test_buy_Beauti(self): '''购买美丽田园测试用例''' convergedPage=ConvergedPage(self.drvier) (user_phone,pwd)=convergedPage.register_customer() amount='100000' self.drvier=appium_init.inital.get_driver() startupPage = StartupPage(self.drvier) homePage = startupPage.page_swipe() loginPage = homePage.logic_link_login_page() homePage = loginPage.logic_login(user_phone, pwd) # 点击一次理财产品元素,过滤蒙层 homePage.el_product_btn.click() time.sleep(0.5) productListPage = homePage.logic_link_product() time.sleep(2) productListPage.swipe_to_up() time.sleep(2) productBeautiPage = productListPage.logic_link_beauti() buyInsertMoneyPage=productBeautiPage.logic_link_buy() buyConfirmPage = buyInsertMoneyPage.logic_buy_product(amount) buyTradeResultPage = buyConfirmPage.logic_confirm_info(pwd) time.sleep(20) homePage = buyTradeResultPage.logic_link_buy() myPage = homePage.logic_buy_my_btn() # 数据库断言,查询投资记录最新的记录根据金额判断 SQL = "select top(1) m.new_managemoney,m.new_product_name from dbo.Account t,dbo.new_investdetail m where t.name=m.new_accountnameName and t.new_telephone1=%s ORDER BY m.CreatedOn DESC" % ( user_phone) sql_conn = Exce_SQLserver() sql_result=sql_conn.execSql_getOne(SQL) sql_amount = int(sql_result[0]) sql_product_name=str(sql_result[1]) buyTradeResultPage.saveScreenshot('test_buy_Beauti') self.assertEqual(int(amount), sql_amount) self.logger.info("run case:test_buy_Beauti user_phone is %s,product_name is %s" %(user_phone,sql_product_name)) self.assertEqual("夸客美丽*360天", sql_product_name)
def test_Forgot_password(self): """找回密码验证""" entry_page = Entry_page(self.driver) forget_Pass = entry_page.open_forget_pass_page() forget_Pass.el_edit_phone.send_keys(entry_page.phone) forget_Pass.el_get_verify.click() message = Message() yanzma = message.get_sms(entry_page.phone) forget_Pass.el_edit_yanzheng.send_keys(yanzma) forget_Pass.el_tv_nextstepself.click() sql = Exce_SQLserver() contract_number = sql.execSql_getList( "SELECT Name,new_certificatenum FROM AccountBase WHERE new_telephone1={phone}" .format(phone=entry_page.phone)) forget_Pass.el_edit_phone.send_keys(contract_number[0][0]) forget_Pass.el_edit_yanzheng.send_keys(contract_number[0][1]) forget_Pass.el_tv_nextstepself.click() forget_Pass.el_edit_password.send_keys("qwe1234") forget_Pass.el_edit_reinput.send_keys("qwe1234") loginPage = forget_Pass.logic_tv_nextstepself_click() #loginPage=homePage.logic_buy_my_btn() forget_Pass = loginPage.logic_el_forget_pass_click() forget_Pass.el_edit_phone.send_keys(entry_page.phone) forget_Pass.el_get_verify.click() message = Message() yanzma = message.get_sms(entry_page.phone) forget_Pass.el_edit_yanzheng.send_keys(yanzma) forget_Pass.el_tv_nextstepself.click() #sql = Exce_SQLserver() # contract_number = sql.execSql_getList("SELECT Name,new_certificatenum FROM AccountBase WHERE new_telephone1={phone}".format(phone=entry_page.phone)) forget_Pass.el_edit_phone.send_keys(contract_number[0][0]) forget_Pass.el_edit_yanzheng.send_keys(contract_number[0][1]) forget_Pass.el_tv_nextstepself.click() forget_Pass.el_edit_password.send_keys("qwe123") forget_Pass.el_edit_reinput.send_keys("qwe123") self.assertEquals(forget_Pass.el_tb_title.text, '找回密码') forget_Pass.el_tv_nextstepself.click() entry_page.saveScreenshot("Forgot_password")
def test_buy_annualInterestRise(self): '''购买年年生利用例''' user_phone = self.inital.excel_info['annualInterestRise']['phone'] pwd = self.inital.excel_info['annualInterestRise']['pwd'] amount = self.inital.excel_info['annualInterestRise']['amount'] startupPage = StartupPage(self.drvier) homePage = startupPage.page_swipe() loginPage = homePage.logic_link_login_page() homePage = loginPage.logic_login(user_phone, pwd) # 点击一次理财产品元素,过滤蒙层 homePage.el_product_btn.click() time.sleep(0.5) productListPage = homePage.logic_link_product() time.sleep(1) productListPage.swipe_to_up() time.sleep(1) productAnnualInterestRisePage = productListPage.logic_link_annualInterestRise( ) buyInsertMoneyPage = productAnnualInterestRisePage.logic_link_buy() buyConfirmPage = buyInsertMoneyPage.logic_buy_product(amount) buyTradeResultPage = buyConfirmPage.logic_confirm_info(pwd) time.sleep(20) homePage = buyTradeResultPage.logic_link_buy() myPage = homePage.logic_buy_my_btn() # 数据库断言,查询投资记录最新的记录根据金额判断 SQL = "select top(1) m.new_managemoney,m.new_product_name from dbo.Account t,dbo.new_investdetail m where t.name=m.new_accountnameName and t.new_telephone1=%s ORDER BY m.CreatedOn DESC" % ( user_phone) sql_conn = Exce_SQLserver() sql_result = sql_conn.execSql_getOne(SQL) sql_amount = int(sql_result[0]) sql_product_name = str(sql_result[1]) buyTradeResultPage.saveScreenshot('test_buy_annualInterestRise') self.assertEqual(int(amount), sql_amount) self.logger.info( "run case:ProductBuyAnnualInterestRise.test_buy_annualInterestRise user_phone is %s,product_name is %s" % (user_phone, sql_product_name)) self.assertEqual("年年生利*360天", sql_product_name)
def test_Exited_data(self): """投资记录-已退出资产详情数据验证""" entry_page = Entry_page(self.driver, phone='17712345606',pwd='qwe123') MyAssetDetailsPage = entry_page.open_my_assetDetails_Exited_page() time.sleep(1.5) assetdetails_list=MyAssetDetailsPage.get_assetdetails_list() pact_title=MyAssetDetailsPage.el_pact_title_btn.text #查询DB 获得理财中第一个理财的合同编号 sql = Exce_SQLserver() contract_number = sql.execSql_getList("SELECT top 1 new_name from new_investdetailBase WHERE new_accountname = 'F86EEE35-2940-E711-80D3-00155D02B414' AND new_status=100000002 order BY new_instreststartdate desc ") #查询DB 获得理财产品名称 sql = Exce_SQLserver() product_name = sql.execSql_getList( "SELECT top 1 new_product_name from new_investdetailBase WHERE new_accountname = 'F86EEE35-2940-E711-80D3-00155D02B414' AND new_status=100000002 order BY new_instreststartdate desc") #断言 self.basepage = BasePage(self.driver) self.basepage.saveScreenshot('Exited_data') self.assertIn(assetdetails_list[0],product_name[0][0]) self.assertIn(contract_number[0][0],assetdetails_list[1]) self.assertEqual(pact_title,'资产详情')
def test_quiting_data(self): """投资记录-退出中资产详情数据验证""" entry_page = Entry_page(self.driver,phone='14477650717',pwd='qwe123') MyAssetDetailsPage = entry_page.open_my_assetDetails_quiting_page() #获得资产详情页列表数据,默认获得第index=0 个 time.sleep(1.5) assetdetails_list=MyAssetDetailsPage.get_assetdetails_list() time.sleep(2) pact_title=MyAssetDetailsPage.el_pact_title_btn.text #查询DB 获得理财中第一个理财的合同编号 sql = Exce_SQLserver() contract_number = sql.execSql_getList("SELECT top 1 new_name from new_investdetailBase WHERE new_accountname = '331C4E9C-D93A-E711-80D3-00155D02B414' AND new_status=100000003 order BY new_instreststartdate desc") #查询DB 获得理财产品名称 sql = Exce_SQLserver() product_name = sql.execSql_getList( "SELECT top 1 new_product_name from new_investdetailBase WHERE new_accountname = '331C4E9C-D93A-E711-80D3-00155D02B414' AND new_status=100000003 order BY new_instreststartdate desc") #断言 self.basepage = BasePage(self.driver) self.basepage.saveScreenshot('quiting_data') self.assertIn(assetdetails_list[0],product_name[0][0]) self.assertIn(contract_number[0][0],assetdetails_list[1]) self.assertEqual(pact_title,'资产详情')
def test_financial_data(self): """投资记录-理财中资产详情数据验证""" entry_page = Entry_page(self.driver) MyAssetDetailsPage = entry_page.open_my_assetDetails_page() time.sleep(1.5) #获得资产详情页列表数据,默认获得第index=0 个 assetdetails_list=MyAssetDetailsPage.get_assetdetails_list() pact_title=MyAssetDetailsPage.el_pact_title_btn.text #查询DB 获得理财中第一个理财的合同编号 sql = Exce_SQLserver() contract_number = sql.execSql_getList("SELECT top 1 new_name from new_investdetailBase WHERE new_accountname = '24004F6C-7C08-E711-80C9-00155D01F903' AND new_status=100000000 order BY new_paidon desc") #查询DB 获得理财产品名称 sql = Exce_SQLserver() product_name = sql.execSql_getList( "SELECT top 1 new_product_name from new_investdetailBase WHERE new_accountname = '24004F6C-7C08-E711-80C9-00155D01F903' AND new_status=100000000 order BY new_paidon desc") #断言 self.basepage = BasePage(self.driver) self.basepage.saveScreenshot('financial_data') self.assertIn(assetdetails_list[0],product_name[0][0]) self.assertIn(contract_number[0][0],assetdetails_list[1]) self.assertEqual(pact_title,'资产详情')
def test_transaction_list(self): """交易记录-交易列表数据验证""" #mytraderecordpage=self.into_transaction() entry_page = Entry_page(self.driver) mytradeRecordPage = entry_page.open_my_tradeRecord_page() # time.sleep(2) trade_list = mytradeRecordPage.logic_trade_list() # 查询DB 获得理财中第一个理财的合同编号 sql = Exce_SQLserver() txtinvestapply = sql.execSql_getList( "SELECT top 1 new_txtinvestapply from new_tradedetailBase WHERE new_account = '24004F6C-7C08-E711-80C9-00155D01F903' ORDER BY new_paydate DESC" ) # print txtinvestapply[0][0] #print trade_list[0] sql = Exce_SQLserver() paymentno = sql.execSql_getList( "SELECT top 1 new_paymentno from new_tradedetailBase WHERE new_account = '24004F6C-7C08-E711-80C9-00155D01F903' ORDER BY new_paydate DESC" ) #print paymentno[0][0] #print trade_list[1] entry_page.saveScreenshot('transaction_list') self.assertEquals(trade_list[0], txtinvestapply[0][0]) self.assertEquals(trade_list[1], paymentno[0][0])
def test_contract_list(self): """消息中心-合同消息-展示本金确认书合同列表""" # 客户登录并进入消息中心列表 entry_page = Entry_page(self.driver) newspage = entry_page.open_news_page() # 点击合同列表页面 contractspage = newspage.click_el_contract_message_btn() time.sleep(2) #获取列表中第 index 个的详情数据,默认最新的一条数据 con_list=contractspage.get_Contracts_list_text(index=0) # print "con_list is %s" %con_list[0] #从DB中查询购买的最新的理财产品信息 #sql=Exce_SQLserver() # results = sql.execSql_getList( # "SELECT top 1 new_product_name,new_investdate,new_name,new_financeterm from new_investdetailBase WHERE new_accountname = '24004F6C-7C08-E711-80C9-00155D01F903' order BY new_investdate DESC") sql = Exce_SQLserver() product_name = sql.execSql_getList("SELECT top 1 new_product_name from new_investdetailBase WHERE new_accountname = '24004F6C-7C08-E711-80C9-00155D01F903' order BY CreatedOn DESC") #print "product_name is %s" %product_name sql = Exce_SQLserver() contract_number = sql.execSql_getList("SELECT top 1 new_name from new_investdetailBase WHERE new_accountname = '24004F6C-7C08-E711-80C9-00155D01F903' order BY CreatedOn DESC") #print "contract_number is %s" % contract_number #print con_list[2] #print contract_number[0][0] #断言处理 self.basepage = BasePage(self.driver) self.basepage.saveScreenshot('contract_list') self.assertIn(con_list[0],product_name[0][0]) self.assertEqual(con_list[2],contract_number[0][0]) """
def test_buy_quarkZX90(self): '''购买夸客尊享90天测试用例''' user_phone=self.inital.excel_info['quarkZX90']['phone'] pwd=self.inital.excel_info['quarkZX90']['pwd'] amount=self.inital.excel_info['quarkZX90']['amount'] startupPage=StartupPage(self.drvier) homePage=startupPage.page_swipe() loginPage=homePage.logic_link_login_page() homePage=loginPage.logic_login(user_phone,pwd) #点击一次理财产品元素,过滤蒙层 homePage.el_product_btn.click() time.sleep(0.5) productListPage=homePage.logic_link_product() productQuarkzxPage=productListPage.logic_link_quarkZX() productQuarkzxPage.logic_choose_product_type(3) buyInsertMoneyPage=productQuarkzxPage.logic_link_buy() buyConfirmPage=buyInsertMoneyPage.logic_buy_product(amount) buyTradeResultPage=buyConfirmPage.logic_confirm_info(pwd) time.sleep(20) homePage=buyTradeResultPage.logic_link_buy() myPage=homePage.logic_buy_my_btn() #数据库断言,查询投资记录最新的记录根据金额判断 SQL="select top(1) m.new_managemoney,m.new_product_name from dbo.Account t,dbo.new_investdetail m where t.name=m.new_accountnameName and t.new_telephone1=%s ORDER BY m.CreatedOn DESC" %(user_phone) sql_conn=Exce_SQLserver() sql_result = sql_conn.execSql_getOne(SQL) sql_amount = int(sql_result[0]) sql_product_name = str(sql_result[1]) self.basepage = BasePage(self.drvier) self.basepage.saveScreenshot('buy_quarkZX90') self.assertEqual(int(amount),sql_amount) self.assertEqual("夸客尊享*90天",sql_product_name) self.logger.info("run case:test_buy_quarkZX90")
def test_buy_van_Gogh180(self): '''购买梵高计划180天脚本,和buy_prodouct_info.xlsx数据源对应''' user_phone = self.inital.buyProduct_info['van_Gogh180']['phone'] pwd = self.inital.buyProduct_info['van_Gogh180']['pwd'] amount = self.inital.buyProduct_info['van_Gogh180']['amount'] times = self.inital.buyProduct_info['van_Gogh180']['times'] exec_flag = self.inital.buyProduct_info['van_Gogh180']['exec'] load_create = self.inital.buyProduct_info['van_Gogh180']['load_create'] if amount == "" or times == "" or exec_flag == "" or load_create == "": self.logger.info( "BuyProductScriptVanGogh.test_buy_van_Gogh180: buy_info excel parms is wrong!" ) return "buy_info excel parms is wrong!" elif exec_flag == 'N' or times == '0': self.logger.info( 'BuyProductScriptVanGogh.test_buy_van_Gogh180: do not buy product van_Gogh180!' ) return "do not buy product van_Gogh180!" if load_create == 'N': self.driver = self.inital.get_driver() convergedPage = ConvergedPage(self.driver) user_phone, pwd = convergedPage.register_customer() elif load_create == "Y" and (user_phone == "" or pwd == ""): self.logger.info( "BuyProductScriptVanGogh.test_buy_van_Gogh180: user_phone pwd value can not be null!" ) return "BuyProductScriptVanGogh.test_buy_van_Gogh180: user_phone pwd value can not be null!" for i in xrange(int(times)): try: self.driver = self.inital.get_driver() startupPage = StartupPage(self.driver) homePage = startupPage.page_swipe() loginPage = homePage.logic_link_login_page() homePage = loginPage.logic_login(user_phone, pwd) # 点击一次理财产品元素,过滤蒙层 homePage.el_product_btn.click() time.sleep(0.5) productListPage = homePage.logic_link_product() productVanGoghPage = productListPage.logic_link_van_Gogh() productVanGoghPage.logic_choose_product_type(1) buyInsertMoneyPage = productVanGoghPage.logic_link_buy() buyConfirmPage = buyInsertMoneyPage.logic_buy_product(amount) buyTradeResultPage = buyConfirmPage.logic_confirm_info(pwd) time.sleep(20) homePage = buyTradeResultPage.logic_link_buy() myPage = homePage.logic_buy_my_btn() SQL = "select top(1) m.new_managemoney,m.new_name from dbo.Account t,dbo.new_investdetail m where t.name=m.new_accountnameName and t.new_telephone1=%s ORDER BY m.CreatedOn DESC" % ( user_phone) sql_conn = Exce_SQLserver() sql_result = sql_conn.execSql_getOne(SQL) sql_amount = int(sql_result[0]) sql_productNo = str(sql_result[1]) self.logger.info( "BuyProductScriptVanGogh.test_buy_van_Gogh180:run {one} time;" "phone is {two};" "pwd is {three};" "product is {four};" "amount is {five}".format(one=(i + 1), two=user_phone, three=pwd, four=sql_productNo, five=sql_amount)) except Exception as e: self.logger.info("buy_van_Gogh180 failed!" + str(e)) finally: self.driver.quit()