Exemple #1
0
    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()
Exemple #2
0
    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("未进入主界面")
Exemple #4
0
    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("未进入主界面")
Exemple #5
0
    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("未进入主界面")
Exemple #6
0
    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("未进入主界面")
Exemple #7
0
    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
Exemple #9
0
    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("未进入主界面")
Exemple #10
0
    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("未进入主界面")
Exemple #13
0
    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("未进入主界面")
Exemple #14
0
    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("未进入主界面")
Exemple #19
0
    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
Exemple #21
0
    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("未进入主界面")
Exemple #22
0
    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("未进入主界面")
Exemple #23
0
    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
Exemple #30
0
    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("未进入主界面")