def test_08_check_my_welfare(self): """ 新手福利发放 """ HomePage().click_mine_view() scroll('up').click(resourceId="com.nonoapp:id/iv") assert Driver.d(text="新客福利(不可叠加)").exists(timeout=3) assert Driver.d(text="立即使用").exists(timeout=3) Driver.screenshot()
def test_03_activity_center(self): """ 活动中心 """ HomePage().discover_view.click(timeout=20) DiscoverPage().activity_center_view.click() Driver.screenshot() back() Driver.screenshot()
def get_user_balance_amount(self): text = self.user_balance_view.get_text() if text == "****": Driver.d(resourceId="com.nonoapp:id/iv_eye").click() text = self.user_balance_view.get_text() balance_amount = ''.join(text.split(',')) return balance_amount
def test_10_login(self, username=None): """ 登录 """ if username is None: username = register_user login(Driver.d, username) Driver.d(text=u"跳过").click_exists(timeout=2) print("登录成功") Driver.d(text=u"先去逛逛").click_exists(timeout=3)
def test_06_check_shopping(self): """ 检查会员商城页面 """ time.sleep(3) HomePage().discover_view.click(timeout=20) scroll('up').click(text='会员商城') scroll('up').click(text='查看更多') assert Driver.d(text='会员商城').exists(timeout=3) assert Driver.d(text='兑换记录').exists(timeout=3) assert Driver.d(text='会员专区').exists(timeout=3)
def test_05_transaction_records_recharges(self): """充值记录""" HomePage().click_mine_view() SitTester().click("交易记录").click("充值").sleep(2) assert Driver.d( resourceId="com.nonoapp:id/tv_finance_desc").get_text() == "充值" amout_text = Driver.d( resourceId="com.nonoapp:id/tv_finance_actual_amount").get_text() print(amout_text) Driver.screenshot()
def test_07_risk_evaluation(self): """ 风险评测 """ HomePage().click_mine_view() MinePage().setting_view.click() SettingPage().risk_evaluation_view.click() risk_evaluation_steps(Driver.d) assert Driver.d(text="已测评").exists(timeout=4) print("------完成风险评测------") text = Driver.d( resourceId="com.nonoapp:id/tv_evaluating_result").get_text( timeout=4) print(f"风险等级:{text}")
def test_08_withdraw_records(self): """提现记录""" HomePage().click_mine_view() MinePage().withdraw_view.click() Driver.d(text=u"提现记录").click() text = Driver.d( resourceId="com.nonoapp:id/tv_wallet_record_amount").get_text() records = str(withdraw_amount - 2 if withdraw_amount < 20000 else withdraw_amount - 3) assert records in text print('提现记录:{}'.format(text)) assert Driver.d(resourceId="com.nonoapp:id/tv_wallet_record_status" ).get_text() == "提现成功"
def wrapper(*args, **kwargs): HomePage().click_mine_view() if not Driver.d(text="登录").exists(timeout=1): logout(Driver.d) login(Driver.d, username=username) else: LoginPage().username_view.set_text(username) LoginPage().password_view.set_text("it789123") back() LoginPage().login_view.click() Driver.d(text=u"跳过").click_exists(timeout=1) result = func(*args, **kwargs) return result
def test_01_page_check(self): """ 发现页元素检查 """ HomePage().discover_view.click(timeout=20) assert Driver.d(text='普通会员').exists(timeout=3) assert Driver.d(text='每日签到').exists(timeout=3) assert Driver.d(text='翻翻乐').exists(timeout=3) assert Driver.d(text='活动中心').exists(timeout=3) assert Driver.d(text='做任务 拿奖励').exists(timeout=3) assert Driver.d(text='我的任务').exists(timeout=3) assert Driver.d(text='邀请好友').exists(timeout=3) Driver.screenshot()
def wrapper(*args, **kwargs): module = __import__('App.TestCase', fromlist=['TestCase']) classname = func.__qualname__.split('.')[0] cls = getattr(module, classname) total = reruns while total >= 0: try: ret = func(*args, **kwargs) return ret except exceptions as e: date = time.strftime('%Y%m%d-%H%M%S', time.localtime()) name = func.__qualname__ + date + '.PNG' Driver.screenshot(name) if total == 0: raise e total -= 1 time.sleep(1) print( "failed,try again....\n failed reason:\n{}".format(e)) cls().setUp()
def recharge_steps(self, amount="100"): self.recharge_view.click() Driver.d(resourceId="com.nonoapp:id/et_recharge_amount").set_text(amount) Driver.d(resourceId="com.nonoapp:id/btn_recharge_next").click() """ 密码校验 """ Driver.d(text=u"确定").click()
def test_02_sign_in(self): """ 每日签到 """ HomePage().discover_view.click(timeout=20) DiscoverPage().sign_in_view.click() if Driver.d(text='签到成功').exists(timeout=3): Driver.d(text='确定').click() assert Driver.d(text='恭喜你签到成功').exists(timeout=3) Driver.screenshot()
def setUp(self): start_nonoapp(d=Driver.d) Driver.d(resourceId="com.nonoapp:id/tv_splash_skip").click_exists( timeout=2) Driver.d(resourceId="com.nonoapp:id/ib_close").click_exists(timeout=2) Driver.d(resourceId="com.nonoapp:id/iv_close").click_exists(timeout=5) """ loading等待 """ for i in range(0, 10): if Driver.d(resourceId="com.nonoapp:id/progress_image").exists: time.sleep(3) else: break
def run(device): d = Driver.init_dirver(device) device_path = d.device_info['model'].replace(" ", "_") print(device_path) if not os.path.exists(device_path): os.mkdir(device_path) os.chdir(device_path) print('-' * 10, '\n', d, '-' * 10, '\n') el = d(resourceId="com.nonoapp:id/iv_close") watcher(el) with open('testreport.html', 'wb') as file: runner = HTMLTestRunner(stream=file, title=d.device_info['model'] + '自动化测试报告', description='用例执行情况:') runner.run(DEFAULT_TEST_SUITE)
def test_05_debt_transfer_records(self): """债权转让记录""" global debt_transfer_reason HomePage().click_mine_view() # MinePage().debt_text_view.click() scroll('up').click(text='债转') Driver.d(text=u"转让记录").click() assert Driver.d(text=u"3天后下架").exists(timeout=5) assert Driver.d(text=debt_transfer_reason).exists(timeout=5) Driver.screenshot()
def test_01_sign_up(self, username=None): """ 注册 """ if username is None: username = create_iphone_no() HomePage().mine_view.click() LoginPage().register_view.click() sign_up_steps(Driver.d, username) Driver.d(text="跳过").click() global register_user register_user = username print("注册用户:", register_user) Driver.screenshot() Driver.d(text="先去逛逛").click() time.sleep(1)
def login(d, username, password="******"): '''登录''' HomePage().mine_view.click() if d(resourceId="com.nonoapp:id/tv_mine_setting").exists(timeout=2): logout(d) HomePage().mine_view.click() LoginPage().username_view.set_text(username) LoginPage().password_view.set_text(password) back() LoginPage().login_view.click() ele = Driver.d(text='验证码登录') if ele.exists(timeout=3): ele.click() d(text=u'获取验证码').click() d(text='请输入图形验证码').set_text(text='8888') d(text='确定').click() d(text='请输入验证码').set_text(text='888888') back() LoginPage().login_view.click() d(text=u"跳过").click_exists(timeout=2)
def test_09_transaction_records_withdraw(self): """交易记录--提现""" HomePage().click_mine_view() SitTester().click("交易记录").click("提现").sleep(2) text = Driver.d( resourceId="com.nonoapp:id/tv_finance_actual_amount").get_text() records = str(withdraw_amount - 2 if withdraw_amount < 20000 else withdraw_amount - 3) assert records in text print('提现记录:{}'.format(text)) assert Driver.d( resourceId="com.nonoapp:id/tv_finance_desc").get_text() == "提现" Driver.d(resourceId="com.nonoapp:id/tv_finance_desc").click() time.sleep(3) Driver.screenshot()
def test_02_openacc(self): """ 徽商开户 """ HomePage().click_mine_view() MinePage().setting_view.click() SettingPage().open_account_view.click() open_account_steps(Driver.d, name="李一") if Driver.d(description='徽商出借人电子账户开户成功').exists(timeout=4) \ or Driver.d(text='徽商出借人电子账户开户成功').exists(timeout=4): assert True else: assert False Driver.screenshot() elements = [Driver.d(description='完成'), Driver.d(text='完成')] for ele in elements: if ele.exists(timeout=3): ele.click() break
def real_name_view(self): return Driver.d(resourceId='realname')
def next_button_view(self): return Driver.d(resourceId="btn_next")
def user_mobile_view(self): return Driver.d(resourceId='mobile')
def open_account_bank_view(self): return Driver.d(description=u"开户行")
def mine_view(self): return Driver.d(resourceId="com.nonoapp:id/tv_home_tab_title", text=u"我的")
def firstpage_view(self): return Driver.d(text="首页")
def discover_view(self): return Driver.d(text="发现")
def invest_view(self): return Driver.d(text=u"出借")
def test_05_check_my_task(self): """ 检查我的任务页面 """ time.sleep(3) #显式的等待... HomePage().discover_view.click(timeout=20) scroll('up').click(text='我的任务') if Driver.d(description='去邀请').exists(timeout=3): assert True elif Driver.d(text='去邀请').exists(timeout=3): assert True else: assert False if Driver.d(description='我的福利').exists(timeout=3): Driver.d(description='我的福利').click() else: Driver.d(text='我的福利').click() # assert self.d(description='去出借').exists(timeout=3) assert Driver.d(text='抵用券').exists(timeout=3) assert Driver.d(text='补贴券').exists(timeout=3) assert Driver.d(text='特权本金').exists(timeout=3) Driver.screenshot()
def test_04_invite_friends(self): """ 邀请好友 - 取消 """ HomePage().discover_view.click(timeout=20) DiscoverPage().invite_friends_view.click() if Driver.d(description="邀请好友 ").exists(timeout=4): Driver.d(description="邀请好友 ").click() else: Driver.d(text="邀请好友 ").click() assert Driver.d(text='微信').exists(timeout=3) assert Driver.d(text='朋友圈').exists(timeout=3) assert Driver.d(text='QQ').exists(timeout=3) assert Driver.d(text='短信').exists(timeout=3) Driver.d(text='取消').click() Driver.screenshot()