def share_page_operate(self): """分享页面具体操作""" if self.wait_check_punch_share_page(): self.wechat().click() if not (self.wait_check_login_wechat_page() or self.wait_check_select_friend_page()): self.base_assert.except_error('未跳转到微信登录页面') self.wechat_back_up_btn().click() if self.wait_check_punch_share_page(): self.friends().click() if not (self.wait_check_login_wechat_page() or self.wait_check_friend_circle_page()): self.base_assert.except_error('未跳转到微信登录页面') self.wechat_back_up_btn().click() if self.wait_check_wechat_alert_tip_page(): self.not_save_btn().click() if self.wait_check_punch_share_page(): self.download().click() if not Toast().find_toast('已保存到本地'): if self.wait_check_permit_tab_page(): self.alert_operate() if not Toast().find_toast('已保存到本地'): self.base_assert.except_error('未发现保存图片提示') else: self.base_assert.except_error('未发现保存到本地提示') else: print('图片已保存到本地') self.click_back_up_button()
def register_operate(self): """ 注册 具体操作""" if self.login.wait_check_login_page(): self.login.register_button() # 注册帐号 按钮 if self.login.wait_check_register_page(): phone = self.login.input_phone() loc = self.home.get_element_location(self.login.protocol()) self.home.driver.tap([ (loc[0] + 330, loc[1] + 10), ]) if self.login.wait_check_protocol_content_page(): self.home.screen_swipe_up(0.5, 0.8, 0.3, 1000) self.home.screen_swipe_down(0.5, 0.4, 0.8, 1000) self.login.switch_tab().click() if self.login.wait_check_switch_page(): self.login.close_web_tab_btn().click() if self.login.wait_check_register_page(): pass phone.click() # 激活phone输入框 user_phone = phone_data[random.randint(0, len(phone_data) - 1)]['account'] phone.send_keys(user_phone) # 输入手机号 value = self.login.verification_code_operate( user_phone, 'register') print('验证码:', value) # else: # value = verify_find(user_phone, var='register') # 获取验证码 # print('验证码:', value) if Toast().find_toast( '用户已经注册') or self.login.wait_check_login_page(): print('该账号已注册!') self.register_operate() else: self.login.send_code_operate(value) if self.login.wait_check_register_nick_page(): print(user_phone) print('-----------------') nick = self.login.input_nickname() # 设置昵称 pwd = self.login.new_pwd() # 设置密码 confirm = self.login.new_pwd_confirm() # 密码再次确认 nick.send_keys(pwd_data[-1]['nick']) # 输入昵称 print('昵称:', pwd_data[-1]['nick']) pwd.send_keys(pwd_data[-1]['password']) # 输入密码 print('密码:', pwd_data[-1]['password']) confirm.send_keys(pwd_data[-1]['confirm']) # 密码确认 print('密码确认:', pwd_data[-1]['confirm']) self.login.register_button() # 注册 按钮 print('-----------------') if Toast().find_toast('注册成功,请登录'): print('注册成功,请登录') else: print('❌❌❌ Error -注册失败')
def test_question_detail_all(self): self.login.app_status() # 判断APP当前状态 if self.home.wait_check_page(): # 页面检查点 self.home.click_tab_question() # 进入首页后 点击 题库tab if self.question.wait_check_page('题单'): # 页面检查点 self.detail.screen_swipe_up(0.5, 0.9, 0.1, 1000) # 由于直接获取时取不到元素,故跳转一下页面 self.home.click_tab_hw() if self.home.wait_check_page(): # 页面检查点 self.home.click_tab_question() print('---------------------') print('题库:') item = self.question.question_name() # 获取 menu = item[1][1] print(menu) item[0][1].click() # 点击第3道题 if self.detail.wait_check_page(): # 页面检查点 self.detail.recommend_button() # 再次点击 推荐按钮 Toast().find_toast('推荐成功') # 获取toast time.sleep(2) self.detail.collect_button() # 取消收藏按钮 time.sleep(2) self.detail.put_to_basket_button() # 加入题筐 按钮 Toast().find_toast('添加题筐成功') # 获取toast time.sleep(2) self.detail.put_to_basket_button() # 再次点击 加入题筐 按钮 Toast().find_toast('已经全部加入题筐') # 获取toast time.sleep(2) ele = self.detail.check_button() # 单选按钮 for j in range(len(ele)): if self.detail.enabled(ele[j]) is True: # enabled 属性 print('★★★ Error- 单选按钮enabled状态') self.detail.all_check_button() # 全不选 按钮 time.sleep(2) item = self.question.question_name() # 获取题目 name = item[1][0] self.question.back_up_button() # 返回按钮 self.judge_result(menu, name) # 验证结果 else: print('未进入题库页面') else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")
def test_game_detail(self): self.login.app_status() # 判断APP当前状态 if self.home.wait_check_page(): # 页面检查点 self.home.click_tab_question() # 进入首页后 点击 题库tab if self.question.wait_check_page('题单'): # 页面检查点 self.question.filter_button() # 筛选按钮 if self.filter.wait_check_page(): # 页面检查点 menu = self.filter.game_list() if self.filter.selected(menu) == 'false': # 大题 self.filter.click_game_list() # 点击 大题 time.sleep(2) name = self.filter.label_name() # 所有标签 var = name[9].text print(var) name[9].click() # 选择一个标签 词汇选择 self.filter.commit_button() # 确定按钮 if self.question.wait_check_page('搜索'): # 页面检查点 name = self.question.question_name() name[0][0].click() if self.game.wait_check_page(): # 页面检查点 self.game_detail_operate() # 游戏详情页 具体操作 self.detail.recommend_button() # 推荐按钮 Toast().find_toast('推荐成功') # 获取toast time.sleep(2) self.detail.collect_button() # 收藏按钮 time.sleep(2) self.detail.put_to_basket_button() # 加入题筐 按钮 Toast().find_toast('添加题筐成功') # 获取toast time.sleep(2) self.question.back_up_button() # 返回 题单详情页 if self.detail.wait_check_page(): # 页面检查点 self.question.back_up_button() # 返回题库页面 if self.question.wait_check_page('题单'): self.home.click_tab_hw() # self.question.verify_basket_result(title) # self.question.verify_collect_result(title, '大题') else: print('未进入题库页面') else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")
def test_exchange_phone(self): """更换手机号 -- 验证码验证失败""" self.login.app_status() # 判断APP当前状态 if self.home.wait_check_page(): # 页面检查点 self.home.click_tab_profile() # 进入首页后点击‘个人中心’按钮 if self.user.wait_check_page(): # 页面检查点 self.user.click_avatar_profile() # 点击登录头像按钮,进行个人信息操作 if self.user_info.wait_check_page(): # 页面检查点 phone1 = self.user_info.phone() self.user_info.click_phone_number() # 点击手机号条目,进入设置页面 if self.user_info.wait_check_tips_page(): self.user_info.tips_title() text = self.user_info.input() # 验证密码 text.send_keys(VALID_RESETPHONE.password()) self.user_info.click_positive_button() if self.phone_reset.wait_check_page(): # 页面检查点 phone = self.phone_reset.et_phone() phone.send_keys(VALID_RESETPHONE.reset()) self.phone_reset.count_time() value = verify_find(VALID_RESETPHONE.reset()) verify = self.phone_reset.verify() verify.send_keys('1234') self.phone_reset.btn_certain() t = Toast().find_toast('验证码验证失败') if t: verify.clear() self.phone_reset.verify().send_keys(value) self.phone_reset.btn_certain() if self.user_info.wait_check_page(): # 页面检查点 phone2 = self.user_info.phone() if phone1 == phone2: print('exchange success') else: print('failed') self.user_info.back_up() else: print('未返回个人信息页面') else: print('未进入手机修改页面') else: print('未进入个人信息页面') else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")
def test_assign_paper(self): self.login.app_status() # 判断APP当前状态 if self.home.wait_check_page(): # 页面检查点 self.home.click_tab_question() # 进入首页后 点击 题库tab if self.question.wait_check_page('题单'): # 页面检查点 self.question.filter_button() # 筛选按钮 if FilterPage().wait_check_page(): paper = self.filter.test_paper() if self.filter.selected(paper) == 'false': self.filter.click_test_paper() # 点击 试卷 self.filter.commit_button() # 确定按钮 else: self.filter.commit_button() # 确定按钮 if self.question.wait_check_page('试卷'): # 页面检查点 print('试卷:') item = self.question.question_name() # 获取name if self.question.judge_question_lock(): lock = self.question.question_lock() # 锁定的试卷数 item[0][len(lock)+2].click() # 点击第X个试卷 todo 根据lock数点击未lock的 else: item[0][2].click() # 点击第X个试卷 if self.paper.wait_check_page(): # 页面检查点 title = self.paper_detail_operate() # 试卷详情页 具体操作 self.paper.recommend_button() # 推荐按钮 Toast().find_toast('操作成功') # 获取toast time.sleep(2) self.paper.collect_button() # 收藏按钮 Toast().find_toast('成功加入收藏') # 获取toast time.sleep(2) self.assign_paper_operate() # 布置试卷 具体操作 self.question.verify_collect_result(title, '试卷') # 我的收藏 验证收藏结果 self.question.back_up_button() # 返回按钮 if TuserCenterPage().wait_check_page(): self.home.click_tab_hw() # 返回首页 else: print('未进入题库页面') else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")
def test_result_time(self): self.login_page.app_status() # 判断APP当前状态 if self.home_page.wait_check_page(): print("已进入主界面:") var = self.home_page.homework_count() if gv.TIME in var[0]: # 该作业存在 for i in range(0, len(var[0])): if var[0][i] == gv.TIME: var[1][i].click() # 点击进入该作业 # count = self.homework.games_count(0, gv.TIME_TYPE) self.game_exist(gv.TIME_COUNT, gv.TIME) # 具体操作 # if count[1] == 10: # 小游戏list需翻页 # game_count = self.homework.swipe_screen(gv.RATE_TYPE) # if len(game_count) != 0: # self.game_exist(game_count, gv.TIME) # self.homework.back_up_button() # 返回主界面 else: print('当前页no have该作业') self.home_page.swipe(var[0], gv.TIME, gv.TIME_TYPE) # 作业list翻页 self.game_exist(gv.TIME_COUNT, gv.TIME) # 具体操作 print('Game Over') else: try: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) except Exception: print("未进入主界面") raise
def test_result_ranking(self): self.login_page.app_status() # 判断APP当前状态 if self.home_page.wait_check_page(): print("已进入主界面:") self.login_page.enter_user_info_page() # 由 主界面 进入个人信息页 nickname = UserInfoPage().nickname() # 获取昵称 UserInfoPage().back_up() if self.home_page.wait_check_page(): var = self.home_page.homework_count() if gv.RANK in var[0]: # 该作业存在 for i in range(0, len(var[0])): if var[0][i] == gv.RANK: var[1][i].click() # 点击进入该游戏 # self.homework.games_count(0, gv.RANK_TYPE) self.game_exist(gv.RANK_COUNT, nickname) # 具体操作 # if count[1] == 10: # 小游戏list需翻页 # game_count = self.homework.swipe_screen(gv.RATE_TYPE) # if len(game_count) != 0: # self.game_exist(game_count) # self.homework.back_up_button() # 返回主界面 else: print('当前页no have该作业') self.home_page.swipe(var[0], gv.RANK_COUNT, gv.RANK_TYPE) # 作业list翻页 self.game_exist(gv.RANK_COUNT, nickname) # 具体操作 print('Game Over') else: try: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) except Exception: print("未进入主界面") raise
def test_change_image(self): """拍照修改头像 -- 不选择修改方式,直接点击空白处退出""" self.login_page.app_status() # 判断APP当前状态 if self.home_page.wait_check_page(): # 页面检查点 self.home_page.click_tab_profile() # 进入首页后点击‘个人中心’按钮 if self.user_center.wait_check_page(): # 页面检查点 self.user_center.click_avatar_profile() # 点击登录头像按钮,进行个人信息操作 if self.user_info.wait_check_page(): # 页面检查点 # image1 = self.user_info.image() # 获取登录后的头像截图 # t = self.screen_shot.screenshot(image1) # self.assertTrue(t) # 点击头像条目,进入设置页面 self.user_info.click_image() if self.user_info.wait_check_tips_page(): self.user_info.tips_title() # 弹框信息 self.user_info.click_block() # 取消更换头像 # # 获取修改后的头像截图 # image2 = self.user_info.image() # result = self.screen_shot.same_as_screenshot(image2, t) # self.assertTrue(result) else: print('未进入个人信息页面') self.user_info.back_up() else: print('未进入个人中心页面') else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")
def apply_vanclass_operate(self, class_datas): """申请班级 具体操作""" self.van.add_class_button() # 添加班级 按钮 if self.home.wait_check_tips_page(): # 页面检查点 text = self.home.tips_title() # 修改窗口title button = self.home.commit() # 确定按钮 元素 if self.get.get_enabled(button) == 'true': self.base_assert.except_error('Error- 确定按钮未置灰') var = self.home.input() var.send_keys(class_datas['class']) print(text + ':' + class_datas['class']) if class_datas['class'] != '': if self.get.get_enabled(button) == 'false': self.base_assert.except_error('Error- 确定按钮未变亮') self.home.commit_button() # 点击确定按钮 if self.van.wait_check_page(): if Toast().find_toast(class_datas['assert']): print(class_datas['assert']) print('-' * 30, '\n') elif self.van.wait_check_no_class_page(): print('班级不存在 点击屏幕 重新加载') self.home.click_back_up_button() # 返回 print('-' * 30, '\n') else: self.home.click_blank()
def test_nickname(self): """修改昵称 -- 修改后不保存""" self.login_page.app_status() # 判断APP当前状态 if self.home_page.wait_check_page(): self.home_page.click_tab_profile() # 进入首页后点击‘个人中心’按钮 if self.user_center.wait_check_page(): # 页面检查点 self.user_center.click_avatar_profile() # 点击登录头像按钮,进行个人信息操作 if self.user_info.wait_check_page(): # 页面检查点 name1 = self.user_info.nickname() # 点击昵称条目,进入设置页面 self.user_info.click_nickname() text = self.user_info.input() # 找到要删除文本的EditText元素 # 删除文本框中内容 DelEditText().del_text(text) text.send_keys("HelloWorld") self.user_info.click_negative_button() if self.user_info.wait_check_page(): name2 = self.user_info.nickname() if name2 == name1: print('cancel change nickname success') else: print('cancel change nickname failed') self.user_info.back_up() else: print('未返回个人信息页面') else: print('未进入个人信息页面') else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")
def test_result_star(self): self.login_page.app_status() # 判断APP当前状态 if self.home_page.wait_check_home_page(): self.home_page.click_hk_tab(2) if self.homework.wait_check_hw_page(): # 页面检查点 var = self.home_page.homework_count() if gv.STAR in var[0]: # 该作业存在 for i in range(0, len(var[0])): if var[0][i] == gv.STAR: var[1][i].click() # 点击进入该作业 # self.homework.games_count(0, gv.STAR_TYPE) self.game_exist(gv.STAR_COUNT, gv.STAR) # 具体操作 # if count[1] == 10: # 小游戏list需翻页 # game_count = self.homework.swipe_screen(gv.RATE_TYPE) # if len(game_count) != 0: # self.game_exist(game_count, gv.STAR) # self.homework.back_up_button() # 返回主界面 else: print('当前页no have该作业') self.home_page.swipe_operate(var[0], gv.STAR, gv.STAR_TYPE) # 作业list翻页 self.game_exist(gv.STAR_COUNT, gv.STAR) # 具体操作 print('Game Over') else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")
def test_privacy_clause(self): if self.home.wait_check_home_page(): self.home.click_tab_profile() # 进入首页后点击‘个人中心’按钮 if self.user_center.wait_check_user_center_page(): # 页面检查点 self.home.screen_swipe_up(0.5, 0.9, 0.3, 1000) self.user_center.click_setting() # 进入设置页面 if self.setting.wait_check_page(): self.setting.privacy_clause() # 隐私条款 for i in range(4): if self.privacy.wait_check_page(): print('翻页%s次' % (i + 1)) self.home.screen_swipe_up(0.5, 0.6, 0.4, 1000) time.sleep(1) if self.privacy.wait_check_page(): print('下拉一次') self.home.screen_swipe_down(0.5, 0.2, 0.9, 1000) if self.privacy.wait_check_page(): self.home.click_back_up_button() if self.setting.wait_check_page(): print('success') else: print(' failed') self.setting.back_up() # 返回主界面 else: print('未进入隐私条款页面') else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")
def test_flash_card_yb(self): """对不同小游戏类型,选择不同函数进行相应的操作""" self.login_page.app_status() # 判断APP当前状态 if self.home_page.wait_check_page(): # 页面检查点 print("已进入主界面:") var = self.home_page.homework_count() if gv.FLA_CARD_YB in var[0]: # 该作业存在 for i in range(0, len(var[0]) - 1): if var[0][i] == gv.FLA_CARD_YB: var[1][i].click() time.sleep(3) count = self.homework.games_count(0, '闪卡练习') self.game_exist(count[0]) if count[1] == 10: game_count = self.homework.swipe_screen('闪卡练习') if len(game_count) != 0: self.game_exist(game_count) else: print('当前页no have该作业') game = self.home_page.swipe(var[0], gv.FLA_CARD_YB, '闪卡练习') # 作业list翻页 self.game_exist(game) print('Game Over') else: try: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) except Exception: print("未进入主界面") raise
def test_strengthen_sentence(self): self.login_page.app_status() # 判断APP当前状态 if self.home_page.wait_check_page(): print("已进入主界面:") var = self.home_page.homework_count() if gv.STREN_SENT in var[0]: for i in range(0, len(var[0])): if var[0][i] == gv.STREN_SENT: var[1][i].click() # 点击进入该作业 count = self.homework.games_count(0, '强化炼句') # 小游戏个数统计 self.game_exist(count[0], gv.STREN_SENT) # 具体操作 if count[1] == 10: # 判断小游戏list是否需滑屏 game_count = self.homework.swipe_screen('强化炼句') if len(game_count) != 0: self.game_exist(game_count, gv.STREN_SENT) else: print('当前页no have该作业') game = self.home_page.swipe(var[0], gv.STREN_SENT, '强化炼句') # 作业list翻页 self.game_exist(game, gv.STREN_SENT) print('Game Over') else: try: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) except Exception: print("未进入主界面") raise
def listen_choice(self): if self.wait_check_page(): # 页面检查 horn = self.play_voice() if horn.get_attribute("enabled"): # 播放按钮检查 retip = self.red_tips() # 顶部红色提示信息 if retip: # 检查是否有红色提示 timestr = [] # 获取每小题的时间 horn.click() # 点击发音按钮 retip = self.red_tips() # 顶部红色提示信息 if retip is False: # 检查红色提示是否消失 tipsum = int(self.rate()) # 获取待完成数 print("作业个数:", tipsum) swipe_num = int(round(tipsum / 3)) # 获取翻页次数 print("需要翻页的次数", swipe_num) self.swipe_operate(self.click_options, swipe_num, timestr) print(timestr) Homework().now_time(timestr) else: print("----没有红色标识------") else: print("出现错误:喇叭不可点-------") else: try: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) except Exception: print("未进入主界面") raise
def test_single_choice(self): self.login_page.app_status() # 判断APP当前状态 if self.home_page.wait_check_page(): # 页面检查点 print("已进入主界面:") var = self.home_page.homework_count() if gv.SIN_CHO in var[0]: # 该作业存在 for i in range(0, len(var[0])): if var[0][i] == gv.SIN_CHO: var[1][i].click() # 进入作业 count = self.homework.games_count(0, '单项选择') # 统计小游戏个数 self.game_exist(count[0]) # 具体操作 if count[1] == 10: # 判断小游戏list是否需要滑屏 game_count = self.homework.swipe_screen('单项选择') if len(game_count) != 0: self.game_exist(game_count) else: print('no have该作业') game = self.home_page.swipe(var[0], gv.SIN_CHO, '单项选择') # 作业list翻页 self.game_exist(game) print('Game Over') else: try: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) except Exception: print("未进入主界面") raise
def test_filter_choose(self): self.login.app_status() # 判断APP当前状态 if self.home.wait_check_page(): # 页面检查点 self.home.click_tab_question() # 进入首页后 点击 题库tab if self.question.wait_check_page('搜索'): # 页面检查点 self.question.filter_button() # 筛选按钮 if self.filter.wait_check_page(): # 页面检查点 if self.filter.selected(self.filter.game_list()) == 'false': # 大题 self.filter.click_game_list() # 选择大题 if self.filter.wait_check_page(): # 页面检查点 ele = self.filter.filter_all_element() # 所有元素 title = self.filter.label_title() # 标签title name = self.filter.label_name() # 所有标签 self.filter.source_type_selected(ele, title) var = name[9].text name[9].click() # 选择一个标签 词汇选择 self.filter.commit_button() # 确定按钮 if self.question.wait_check_page('搜索'): # 页面检查点 name = self.question.question_name() mode = self.question.question_type(random.randint(0, len(name)-1)) # 大题类型 if mode != var: print('★★★ Error- 筛选出的大题类型') self.home.click_tab_hw() # 返回首页 else: print('未进入题库页面') else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")
def test_restore_word(self): self.login_page.app_status() # 判断APP当前状态 if self.home_page.wait_check_page(): # 页面检查点 print("登录成功") var = self.home_page.homework_count() if gv.RES_WORD in var[0]: for i in range(0, len(var[0])): if var[0][i] == gv.RES_WORD: var[1][i].click() # 点击进入该作业 count = self.homework.games_count(0, '还原单词') # 小游戏个数统计 self.game_exist(count[0]) # 具体操作 if count[1] == 10: # 判断小游戏list是否需滑屏 game_count = self.homework.swipe_screen('还原单词') if len(game_count) != 0: self.game_exist(game_count) else: print('当前页no have该作业') game = self.home_page.swipe(var[0], gv.RES_WORD, '还原单词') # 作业list翻页 self.game_exist(game) print('Game Over') else: try: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) except Exception as e: print("未进入主界面") raise e
def punch_page_select_book_operate(self, book_info, nickname): """打卡页面书籍选择""" punch_books = self.punch_books() print('书籍个数:', len(punch_books)) book_id_info = {} for i, x in enumerate(punch_books): quoted_id = self.attr.get_cont_desc(x) book_id = PunchSqlHandle().get_activity_book_id_by_quoted_id( quoted_id) book_id_info[quoted_id] = book_id if int(book_id) not in list(book_info.keys()): self.base_assert.except_error('此书不应在打卡书籍列表中') book_status = self.punch_book_status(quoted_id) if book_status == '0': if not self.wait_check_punch_lock_icon_page(quoted_id): self.base_assert.except_error('图书状态不可点击, 但未发现解锁锁图标') x.click() if not Toast().find_toast('今天的书已经读完啦'): self.base_assert.except_error('点击未解锁图书, 未弹出提示') select_quoted_id = self.punch_book_id(index=0) select_book_id = book_id_info[select_quoted_id] book_count = book_info[select_book_id] self.punch_books()[0].click() if not self.wait_check_select_checkpoint_page(): self.base_assert.except_error('点击已解锁书籍, 未进入通关页面') else: if len(self.checkpoint_list()) != book_count: self.base_assert.except_error('关卡个数与数据查询个数不一致') if len(self.checkpoint_list()) > 10: self.base_assert.except_error('关卡个数大于10个') return select_quoted_id
def test_apply_for_vanclass(self): self.login.app_status() # 判断APP当前状态 if self.home.wait_check_home_page(): # 页面检查点 self.home.click_test_vanclass() # 班级tab if self.van.wait_check_page(): # 页面检查点 if self.van.wait_check_empty_tips(): # 暂无数据 print('暂无班级') else: # 已有班级 print('已有班级:') self.list_swipe_operate() # 已有班级数 统计 for i in range(len(class_data)): if self.van.wait_check_page( ) and i != len(class_data) - 1: self.apply_vanclass_operate( class_data[i]) # 申请入班 具体操作 self.input_remark_name(class_data[-1]) # 班级备注名 if self.van.wait_check_page(): # 页面检查点 self.home.click_tab_hw() # 返回主界面 else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")
def test_reading_comprehension(self): self.login_page.app_status() # 判断APP当前状态 if self.home_page.wait_check_home_page(): # 页面检查点 self.home_page.click_hk_tab(2) if self.homework.wait_check_hw_page(): # 页面检查点 var = self.home_page.homework_count() if gv.REA_COMPRE in var[0]: # 该作业存在 for i in range(0, len(var[0])): if var[0][i] == gv.REA_COMPRE: var[1][i].click() # 进入作业 count = self.homework.games_count( 0, '阅读理解', gv.REA_COMPRE) # 小游戏个数统计 self.game_exist(count[0]) # 具体操作 if count[1] == 10: # 判断小游戏list是否需滑屏 game_count = self.homework.swipe_screen('阅读理解') if len(game_count) != 0: self.game_exist(game_count) break else: print('当前页no have该作业') game = self.home_page.swipe_operate( var[0], gv.REA_COMPRE, '阅读理解') # 作业list翻页 self.game_exist(game[0]) print('Game Over') else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")
def assgin_operate(self, var): """布置作业""" if var > 1: for i in range(2): self.basket.check_button(i) # 单选按钮 ele = self.basket.assign_button() # 点击布置作业 按钮 ele.click() # 点击 if self.release.wait_check_tips_page(): # 温馨提示 页面 self.release.tips_title() self.release.tips_content() self.release.commit_button() if self.release.wait_check_release_page(): # 页面检查点 self.release.now_assign_button() # 立即布置 按钮 self.release.tips_page_info() # 提示框 try: Toast().find_toast('请输入作业名称') except Exception: raise self.release.screen_swipe_down(0.5, 0.4, 0.7, 1000) self.release_hw_operate() # 发布作业 详情页 self.release.now_assign_button() # 立即布置 按钮 self.release.tips_page_info() # 提示框
def test_paper_more_button(self): self.login.app_status() # 判断APP当前状态 if self.home.wait_check_page(): # 页面检查点 if self.home.wait_check_no_page(): print('无最新动态 -- (用户指南) 欢迎使用在线助教,打开看看吧!') else: self.home.screen_swipe_up(0.5, 0.85, 0.1, 1000) name = self.home.get_type('试卷') var = name[0][name[1][1]].text # 作业名称 name[0][name[1][1]].click() # 进入作业 if self.paper.wait_check_page(): # 页面检查点 print('进入试卷:', var) self.paper.more_button() # 更多 按钮 time.sleep(2) self.paper.edit_delete_button(0) # 编辑按钮 if self.paper.wait_check_edit_page(): # 页面检查点 self.edit_hw_operate() # 编辑 具体操作 if self.paper.wait_check_page(): # 页面检查点 self.paper.more_button() # 更多 按钮 time.sleep(2) self.paper.edit_delete_button(1) # 删除按钮 self.tips_page_info() # 删除提示框 if self.paper.wait_check_page(): # 页面检查点 self.home.back_up_button() # 返回主界面 else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")
def test_word_dictation(self): self.login_page.app_status() # 判断APP当前状态 if self.home_page.wait_check_page(): print("已进入主界面:") self.home_page.click_homework_label() if self.homework.homework_page_check: var = self.home_page.homework_count() if gv.WOR_DIC in var[0]: for i in range(0, len(var[0])): if var[0][i] == gv.WOR_SPE: var[1][i].click() # 点击进入该作业 count = self.homework.games_count(0, '单词听写') # 小游戏个数统计 self.game_exist(count[0]) # 具体操作 if count[1] == 10: # 判断小游戏list是否需滑屏 game_count = self.homework.swipe_screen('单词听写') if len(game_count) != 0: self.game_exist(game_count) else: print('当前页no have该作业') game = self.home_page.swipe(var[0], gv.WOR_DIC, '单词听写') # 作业list翻页 self.game_exist(game) print('Game Over') else: try: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) except Exception: print("未进入主界面") raise
def test_spoken_analysis_detail(self): self.login.app_status() # 判断APP当前状态 if self.home.wait_check_page(): # 页面检查点 if self.home.wait_check_no_page(): print('无最新动态 -- (用户指南) 欢迎使用在线助教,打开看看吧!') else: name = self.home.get_type('口语') var = name[0][name[1][1]].text # 作业名称 name[0][name[1][1]].click() # 进入作业 if self.speak.wait_check_spoken_page(): # 页面检查点 print('口语:', var) mode = self.detail.game_type() # 游戏类型 name = self.detail.game_name() # 游戏name print(mode[0].text, name[0].text) name[0].click() # 进入口语游戏 if self.speak.wait_check_spoken_detail_page(): # 页面检查点 self.question_analysis_operate() # 按题查看 tab self.st_analysis_operate() # 按学生查看 tab if self.speak.wait_check_spoken_detail_page(): # 页面检查点 self.home.back_up_button() # 返回 if self.speak.wait_check_spoken_page(): # 页面检查点 self.home.back_up_button() # 返回主界面 else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")
def test_spoken_analysis_detail(self): self.login.app_status() # 判断APP当前状态 if self.home.wait_check_page(): # 页面检查点 print('##########################################') if self.home.wait_check_no_page(): print('无最新动态 -- (用户指南) 欢迎使用在线助教,打开看看吧!') else: name = self.home.get_type('口语') for i in range(len(name[1])): var = name[0][name[1][i]].text # 作业名称 print(var[4:]) if var[4:] == '口语test': name[0][name[1][1]].click() # 进入作业 break if self.speak.wait_check_spoken_page(): # 页面检查点 print('口语:', '口语test') self.analysis_operate() self.home.back_up_button() print('##########################################') else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")
def test_guess_word(self): self.login_page.app_status() # 判断APP当前状态 if self.home_page.wait_check_home_page(): # 页面检查点 self.home_page.click_hk_tab(2) if self.homework.wait_check_hw_page(): # 页面检查点 var = self.home_page.homework_count() if gv.GUE_WORD in var[0]: for i in range(0, len(var[0])): if var[0][i] == gv.GUE_WORD: var[1][i].click() # 点击进入该作业 count = self.homework.games_count( 0, '猜词游戏', gv.GUE_WORD) # 小游戏个数统计 self.game_exist(count[0]) # 具体操作 if count[1] == 10: # 判断小游戏list是否需滑屏 game_count = self.homework.swipe_screen('猜词游戏') if len(game_count) != 0: self.game_exist(game_count) break else: print('当前页no have该作业') game = self.home_page.swipe_operate( var[0], gv.GUE_WORD, '猜词游戏') # 作业list翻页 self.game_exist(game[0]) print('Game Over') else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")
def test_word_spelling_noyb(self): self.login_page.app_status() # 判断APP当前状态 if self.home_page.wait_check_page(): # 页面检查点 print("已进入主界面:") var = self.home_page.homework_count() if gv.WOR_SPE in var[0]: # 该作业存在 for i in range(0, len(var[0])): if var[0][i] == gv.WOR_SPE: var[1][i].click() time.sleep(3) count = self.homework.games_count(0, '单词拼写') self.game_exist(count[0]) if count[1] == 10: game_count = self.homework.swipe_screen('单词拼写') self.game_exist(game_count) else: print('当前页no have该作业') game = self.home_page.swipe(var[0], gv.WOR_SPE, '单词拼写') # 作业list翻页 self.game_exist(game) print('Game Over') else: try: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) except Exception: print("未进入主界面") raise
def test_privacy_clause(self): """版权申诉 -- 正常流程""" self.login_page.app_status() # 判断APP当前状态 if self.home_page.wait_check_page(): self.home_page.click_tab_profile() # 进入首页后点击‘个人中心’按钮 if self.user_center.wait_check_page(): # 页面检查点 self.user_center.click_setting() # 进入设置页面 if self.setting.wait_check_page(): self.setting.privacy_clause() # 隐私条款 if self.privacy_clause.wait_check_page(): for i in range(4): print('翻页%s次' % (i + 1)) BasePage().screen_swipe_up(0.5, 0.5, 0.25, 1000) print('下拉一次') BasePage().screen_swipe_down(0.5, 0.2, 0.9, 1000) self.home_page.back_up_button() if self.setting.wait_check_page(): print('success') else: print(' failed ') self.setting.back_up() # 返回主界面 else: print('未进入隐私条款页面') else: Toast().find_toast(VALID_LOGIN_TOAST.login_failed()) print("未进入主界面")