예제 #1
0
    def test_logout_operation(self):
        """
            test_cases/test_login_operations.py:LoginTestCase.test_login_operation
        Summary:
            登出case

        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:
            common_action = access_to_window.ActionsAccess2Window(
                self.get_driver())
            common_action.go_to_user_center_tab()
            log.logger.info("进入用户中心tab页")
            curr_user_center_tab = user_center_tab_window.UserCenterTabWindow(
                base_app)

            log.logger.info("向上滑动整个屏幕,使\"设置\"出现在屏幕中")
            curr_user_center_tab.swipe_up_entire_scroll_view()

            log.logger.info("点击设置栏")
            status = curr_user_center_tab.tap_settings_bar()
            self.assertTrue(status, "没有进入用户设置页面")

            curr_user_setting_window = user_setting_window.UserSettingWindow(
                base_app)

            log.logger.info("向上滑动屏幕,使\"退出登录\"出现在屏幕中")
            curr_user_setting_window.swipe_up_entire_scroll_view()
            status = curr_user_setting_window.tap_logout_bar()
            self.assertTrue(status, "用户退出失败")

        except Exception as exp:
            log.logger.error("发现异常, case:test_logout_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'logout', exp)
    def test_edit_avatar_operation(self):
        """
            test_cases/test_user_center_operations.py:UserCenterTestCase.test_edit_avatar_operation
            Summary:
                编辑头像信息
        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:
            curr_user_center_window = user_center_tab_window.UserCenterTabWindow(
                base_app)
            log.logger.info("点击进入用户信息页面")
            status = curr_user_center_window.tap_user_head_bar()
            self.assertTrue(status, "进入用户信息页失败")

            curr_user_info_window = user_info_window.UserInfoWindow(base_app)

            status = curr_user_info_window.upload_avatar()

            log.logger.info("验证图片上传结果")
            self.assertTrue(status, "上传图片失败")
            log.logger.info("验证结束,结果正确")

        except Exception as exp:
            log.logger.error("发现异常, case:test_edit_avatar_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'edit_avatar', exp)
예제 #3
0
    def test_login_operation(self):
        """
            test_cases/test_login_operations.py:LoginTestCase.test_login_operation
        Summary:
            登录case

        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        thread_number = self.get_current_thread_number()
        try:

            curr_login_window = login_main_window.LoginMainWindow(base_app)

            account = self.config_model.get('account',
                                            'account' + str(thread_number))
            password = self.config_model.get('account',
                                             'password' + str(thread_number))
            curr_login_window.input_account(account)
            curr_login_window.input_password(password)

            log.logger.info("开始点击登录按钮")
            login_status = curr_login_window.tap_login_button()

            log.logger.info("验证登录结果,登录是否跳转成功")
            self.assertTrue(login_status, "登陆失败")

        except Exception as exp:
            log.logger.error("发现异常, case:test_login_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'login', exp)
예제 #4
0
    def test_discover_normal_operation(self):
        """
            test_cases/test_topic_operations.py:TopicTestCase.test_discover_normal_operation
        Summary:
            常规操作-下拉刷新/上滑动加载

        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:

            curr_discover_activity = discover_tab_activity.DiscoverTabActivity(
                base_app)

            log.logger.info("下拉刷新")
            curr_discover_activity.swipe_down_entire_scroll_view()
            self.assertTrue(True, "下拉刷新失败", "发现页下拉刷新")

            log.logger.info("向上滑动加载")
            curr_discover_activity.swipe_up_entire_scroll_view()
            curr_discover_activity.swipe_up_entire_scroll_view()
            curr_discover_activity.swipe_up_entire_scroll_view()
            self.assertTrue(True, "上滑分页加载失败", "发现页上滑分页加载")

        except Exception as exp:
            log.logger.error("发现异常, case:test_send_topic_topic_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'send_topic', exp)
    def test_focus_normal_operation(self):
        """
            test_cases/test_friends_operations.py:FocusTestCase.test_focus_normal_operation
        Summary:
            关注页操作:下拉刷新-分页加载-切换分类

        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:

            curr_focus_activity = focus_tab_activity.FocusTabActivity(base_app)

            log.logger.info("向下滑动,下拉刷新")
            curr_focus_activity.swipe_down_entire_scroll_view()
            self.assertTrue(True, "下拉刷新失败", "关注页下拉刷新")

            log.logger.info("向上滑动, 加载多个页面")
            curr_focus_activity.swipe_up_entire_scroll_view()
            curr_focus_activity.swipe_up_entire_scroll_view()
            curr_focus_activity.swipe_up_entire_scroll_view()
            self.assertTrue(True, "上滑分页加载失败", "关注页分页加载")

        except Exception as exp:
            log.logger.error("发现异常, case:test_focus_normal_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'focus_normal', exp)
예제 #6
0
    def test_essence_operation(self):
        """
            test_cases/test_topic_operations.py:TopicTestCase.test_essence_operation
        Summary:
            发现首页-》点击九宫格箭头-》分类-》精选分类选择分类/点击图片/点赞

        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:

            curr_discover_activity = discover_tab_activity.DiscoverTabActivity(
                base_app)

            curr_discover_activity.swipe_up_entire_scroll_view()
            log.logger.info("点击九宫格箭头跳转")
            status = curr_discover_activity.tap_head_bar_more()
            self.assertTrue(status, "进入全部分类页面失败")

            curr_cate_activity = all_category_activity.AllCategoryActivity(
                base_app)
            curr_cate_activity.swipe_up_entire_scroll_view()

            curr_cate = curr_cate_activity.category_list[0]
            log.logger.info("点击精选分类的\"{}\"".format(curr_cate.text))
            curr_cate.tap()

            curr_essence_activity = essence_recommend_activity.EssenceRecommendActivity(
                base_app)

            log.logger.info("开始切换精选分类")
            curr_tab = curr_essence_activity.tab_list[2]
            log.logger.info("点击tab\"{}\"".format(curr_tab.text))
            curr_tab.tap(4)
            status = curr_essence_activity.wait_for_newest_photo_album(6)
            self.assertTrue(status, "新相册加载失败", "切换精选分类-第三个类目")

            curr_tab = curr_essence_activity.tab_list[0]
            log.logger.info("点击tab\"{}\"".format(curr_tab.text))
            curr_tab.tap(4)
            status = curr_essence_activity.wait_for_newest_photo_album(6)
            self.assertTrue(status, "新相册加载失败", "切换精选分类-第一个类目")

            log.logger.info("开始点赞")
            log.logger.info("对当前首张专辑进行点赞")
            status = curr_essence_activity.photo_list[0].tap_like_button()
            self.assertTrue(status, "点赞失败", "照片集点赞")

            log.logger.info("取消点赞")
            log.logger.info("对当前首张专辑取消点赞")
            status = curr_essence_activity.photo_list[0].tap_like_button(False)
            self.assertTrue(status, "点赞失败", "照片集取消点赞")

            log.logger.info("点击图片")
            status = curr_essence_activity.photo_list[1].tap()
            self.assertTrue(status, "进入个人相册详情页失败", "点击精选相册照片")

        except Exception as exp:
            log.logger.error("发现异常, case:test_essence_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'test_essence', exp)
예제 #7
0
    def __init__(self, driver):
        self.__driver = driver
        self.__base_app = base_frame_view.BaseFrameView(self.__driver)
        self.__model_config = model.config_parser

        # ******************多设备相关变量**********************

        self.__thread_number = thread_device_pool.ThreadDeviceInfoPool.get_current_thread_number(
        )
예제 #8
0
    def test_discover_skip_operation(self):
        """
            test_cases/test_topic_operations.py:TopicTestCase.test_discover_skip_operation
        Summary:
            跳转操作-热门话题箭头跳转/切换图片分类/点击图片跳转/广告跳转/故事集跳转

        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        action = mobile_keyevent_action.KeyEventAction(self.get_driver())
        try:

            curr_discover_activity = discover_tab_activity.DiscoverTabActivity(
                base_app)

            log.logger.info("点击热门话题箭头跳转")
            status = curr_discover_activity.tap_hot_topic_icon()
            self.assertTrue(status, "进入话题广场页面失败", "进入话题广场")
            action.back(activities.ActivityNames.IN_MAIN)

            log.logger.info("向上滑动使图片栏固定在顶部")
            curr_discover_activity.swipe_up_entire_scroll_view()
            #curr_discover_activity.swipe_up_any_view(ratio=0.1)
            log.logger.info("切换图片分类")
            log.logger.info("点击最新tab")
            curr_discover_activity.newest_header_tab.tap()
            status = curr_discover_activity.is_square_item_exisit()
            self.assertTrue(status, "切换图片分类失败", "切换图片分类-最新")

            log.logger.info("点击最热tab")
            curr_discover_activity.hotest_header_tab.tap()
            status = curr_discover_activity.is_square_item_exisit()
            self.assertTrue(status, "切换图片分类失败", "切换图片分类-最热")

            status = curr_discover_activity.first_photo_item.tap()
            self.assertTrue(status, "进入图片详情页面失败", "发现页点击九宫格图片")
            action.back(activities.ActivityNames.IN_MAIN)

            if curr_discover_activity.first_live_item:
                # 存在直播,则进入直播页
                status = curr_discover_activity.first_live_item.tap()
                self.assertTrue(status, "进入直播页面失败")
                action.back(activities.ActivityNames.IN_MAIN)

            if curr_discover_activity.first_story_item:
                # 存在故事集,则进入故事集页
                status = curr_discover_activity.first_story_item.tap()
                self.assertTrue(status, "进入故事集详情页面失败", "发现页点击九宫格故事集")
                action.back(activities.ActivityNames.IN_MAIN)
            if curr_discover_activity.ad_item:
                status = curr_discover_activity.tap_ad()
                self.assertTrue(status, "进入广告页面失败", "发现页点击九宫格广告")
                action.back(activities.ActivityNames.IN_MAIN)

        except Exception as exp:
            log.logger.error("发现异常, case:test_send_topic_topic_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'send_topic', exp)
    def test_publish_story_from_in_gallery_operation(self):
        """
            test_cases/test_story_operations.py:StoryTestCase.test_publish_story_from_in_gallery_operation
            Summary:
                发布故事集-点击写故事-点击照片-点击in记相册选择照片上传
        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:
            curr_gallery_window = story_gallery_window.StoryGalleryWindow(
                base_app)

            #  点击上方相册选择列表选择IN相册
            curr_gallery_window.tap_album_droplist()
            curr_gallery_window.tap_in_diary_album()
            log.logger.info("随机选择几张照片")
            indexes = [1, 3, 4]
            curr_gallery_window.select_photo_from_in_diary(indexes)

            log.logger.info("验证已选中的图片的数目")
            self.assertEqual(str(len(indexes)),
                             curr_gallery_window.selected_story_photo_count,
                             "选择的图片数量不一致")

            curr_gallery_window.tap_story_continue_button()

            curr_story_edit_window = story_edit_window.StoryEditWindow(
                base_app)
            curr_story_edit_window.diary_cover_detail.input_diary_name(
                u'in记相册发布文章')
            curr_story_edit_window.diary_cover_detail.input_diary_beginning(
                u'in记相册发布文章,发布文章开头')
            curr_story_edit_window.tap_preview_button()

            curr_story_preview_window = story_preview_window.StoryPreviewWindow(
                base_app)
            curr_story_preview_window.tap_next_button()

            curr_story_setting_window = story_setting_window.StorySettingWindow(
                base_app)
            curr_story_setting_window.tap_finish_button()

            curr_story_share_window = story_share_window.StoryShareWindow(
                base_app)
            self.assertTrue(curr_story_share_window.is_publish_success(),
                            "发布日记未成功")

            status = curr_story_share_window.tap_close_button()
            self.assertTrue(status, "进入in主页失败")

        except Exception as exp:
            log.logger.error(
                "发现异常, case:test_publish_story_from_in_gallery_operation执行失败")
            self.raise_exp_and_save_screen_shot(
                base_app, 'publish_story_from_in_gallery', exp)
    def test_login_operation(self):
        """
            test_cases/test_login_operations.py:LoginTestCase.test_login_operation
        Summary:
            登录case

        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        common_action = access_action.AccessAction(self.get_driver())
        thread_number = self.get_current_thread_number()
        try:

            curr_login_activity = login_main_activity.LoginMainActivity(
                base_app)

            curr_login_activity.skip_to_login_main()

            account = self.config_model.get('account',
                                            'account' + str(thread_number))
            password = self.config_model.get('account',
                                             'password' + str(thread_number))
            curr_login_activity.input_account(account)
            curr_login_activity.input_password(password)

            log.logger.info("开始点击登录按钮")
            login_status = curr_login_activity.tap_login_button()

            log.logger.info("验证登录结果,登录是否跳转成功")
            self.assertTrue(login_status, "登陆失败", "输入账号密码登陆")

            common_action.go_to_user_center_tab()
            log.logger.info("进入用户中心tab页")
            curr_user_center_tab = user_center_tab_activity.UserCenterTabActivity(
                base_app)

            log.logger.info("向上滑动整个屏幕,使\"设置\"出现在屏幕中")
            curr_user_center_tab.swipe_up_entire_scroll_view()

            log.logger.info("点击设置栏")
            status = curr_user_center_tab.tap_settings_bar()
            self.assertTrue(status, "没有进入用户设置页面", "进入用户设置页")

            curr_user_setting_activity = user_setting_activity.UserSettingActivity(
                base_app)

            log.logger.info("向上滑动屏幕,使\"退出登录\"出现在屏幕中")
            curr_user_setting_activity.swipe_up_entire_scroll_view()
            status = curr_user_setting_activity.tap_logout_bar()
            self.assertTrue(status, "用户退出失败", "退出按钮退出")

        except Exception as exp:
            log.logger.error("发现异常, case:test_login_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'login', exp)
예제 #11
0
    def test_publish_paster_available_operation(self):
        """
            test_cases/test_paster_operations.py:PasterTestCase.test_publish_paster_available_operation
            Summary:
                发布已有贴纸
        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:
            curr_my_own_paster_tab_window = my_own_paster_tab_window.MyOwnPasterTabWindow(base_app)

            # 记录当前贴纸个数
            tmp_my_paster_num = len(curr_my_own_paster_tab_window.my_custom_paster_list)
            log.logger.info("当前已有贴纸数{}张".format(tmp_my_paster_num))

            index = random.randint(0, tmp_my_paster_num-1)
            log.logger.info("点击第{}张贴纸".format(index+1))
            status = curr_my_own_paster_tab_window.choose_custom_paster(index+1)
            self.assertTrue(status, "吊起贴纸对话框失败")

            curr_paster_box = custom_paster_msgbox.CustomPasterMsgBox(base_app)
            status = curr_paster_box.tap_use_button()
            self.assertTrue(status, "使用贴纸失败")

            log.logger.info("选择图片,编辑贴纸")
            curr_camera_window = photo_camera_window.CameraWindow(base_app)
            indexes = (3, 1, 4)
            curr_camera_window.select_photos(indexes[0], indexes[1], indexes[2])
            log.logger.info("验证所选图片是否已选中")

            for index, value in enumerate(indexes, start=1):
                self.assertEqual(str(index), curr_camera_window.photo_list[value-1].selected_value,
                                 "选中序号不正确")

            log.logger.info("图片选择验证完毕")
            status = curr_camera_window.tap_next_step_button()
            self.assertTrue(status, "进入发布加工页失败")

            curr_publish_core_window = publish_core_window.PublishCoreWindow(base_app)
            status = curr_publish_core_window.tap_finish_button()
            self.assertTrue(status, "进入发布页失败")

            curr_publish_window = publish_window.PublishWindow(base_app)

            curr_publish_window.input_words(u"测试发布")
            curr_publish_window.tap_publish_button()
            log.logger.info("开始验证发布情况")
            status = curr_publish_window.is_publish_successful()
            self.assertTrue(status, "发布失败")
            log.logger.info("发布情况验证完毕")

        except Exception as exp:
            log.logger.error("发现异常, case:test_publish_paster_available_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'test_publish_paster', exp)
예제 #12
0
    def test_create_paster_operation(self):
        """
            test_cases/test_paster_operations.py:PasterTestCase.test_create_paster_operation
            Summary:
                创建贴纸
        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:
            curr_my_own_paster_tab_window = my_own_paster_tab_window.MyOwnPasterTabWindow(base_app)

            if curr_my_own_paster_tab_window.is_guide_exist():
                curr_my_own_paster_tab_window.tap_window_top()

            # 记录当前贴纸个数
            tmp_my_paster_num = len(curr_my_own_paster_tab_window.my_custom_paster_list)
            log.logger.info("当前已有贴纸数{}张".format(tmp_my_paster_num))

            curr_my_own_paster_tab_window.tap_add_paster_button()

            status = curr_my_own_paster_tab_window.select_from_gallery()
            self.assertTrue(status, "进入图片选择页失败")

            curr_album_picker_window = album_picker_window.PhotoAlbumPickerWindow(base_app)
            curr_album_picker_window.post_photo_album_list[3].tap()

            curr_photo_picker_window = photo_picker_window.PhotoPickerWindow(base_app)

            log.logger.info("选择第三张图片加工为贴纸")
            curr_photo_picker_window.post_photo_list[2].tap()

            curr_photo_crop_window = custom_paster_crop_window.CustomPasterCropWindow(base_app)
            curr_photo_crop_window.tap_next_button()

            curr_choose_part_photo_window = choose_part_paster_window.ChoosePartPasterWindow(base_app)
            curr_choose_part_photo_window.tap_continue_button()

            curr_editor_photo_window = custom_paster_editor_window.CustomPasterEditorWindow(base_app)
            curr_editor_photo_window.tap_finish_button()

            log.logger.info("验证创建的贴纸添加到了已有贴纸里面")
            now_my_paster_num = len(curr_my_own_paster_tab_window.my_custom_paster_list)
            log.logger.info("现在贴纸数目{}张".format(now_my_paster_num))

            log.logger.info("检查新增贴纸的new标记")
            self.assertTrue(curr_my_own_paster_tab_window.new_paster_icon.is_displayed(), "新增标记未出现")
            log.logger.info("新增贴纸的new标记已检测成功")

            self.assertEqual(1, now_my_paster_num-tmp_my_paster_num, "贴纸数量不一致,创建贴纸失败")

        except Exception as exp:
            log.logger.error("发现异常, case:test_paster_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'create_paster', exp)
    def test_3rd_party_login_operation(self):
        """
            test_cases/test_login_operations.py:LoginTestCase.test_3rd_party_login_operation
        Summary:
            第三方登录case

        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        common_action = access_action.AccessAction(self.get_driver())
        try:

            curr_login_activity = login_main_activity.LoginMainActivity(
                base_app)

            curr_login_activity.skip_to_login_main()

            log.logger.info("开始点击QQ登录按钮")
            status = curr_login_activity.tap_qq_login_button()
            self.assertTrue(status, "进入QQ授权页面失败", "QQ登陆页面")

            curr_qq_auth_activity = qq_auth_activity.QQAuthActivity(base_app)
            status = curr_qq_auth_activity.tap_login_button()
            log.logger.info("验证QQ登录结果,登录是否跳转成功")
            self.assertTrue(status, "登陆失败")

            common_action.go_to_user_center_tab()
            log.logger.info("进入用户中心tab页")
            curr_user_center_tab = user_center_tab_activity.UserCenterTabActivity(
                base_app)

            log.logger.info("向上滑动整个屏幕,使\"设置\"出现在屏幕中")
            curr_user_center_tab.swipe_up_entire_scroll_view()

            log.logger.info("点击设置栏")
            status = curr_user_center_tab.tap_settings_bar()
            self.assertTrue(status, "没有进入用户设置页面")

            curr_user_setting_activity = user_setting_activity.UserSettingActivity(
                base_app)

            log.logger.info("向上滑动屏幕,使\"退出登录\"出现在屏幕中")
            curr_user_setting_activity.swipe_up_entire_scroll_view()
            status = curr_user_setting_activity.tap_logout_bar()
            self.assertTrue(status, "用户退出失败", "用户退出")

            log.logger.info("点击微博登录")
            log.logger.info("只考虑当前微博已登录并已授权的情况")

        except Exception as exp:
            log.logger.error("发现异常, case:test_3rd_party_login_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, '3rd_party_login',
                                                exp)
예제 #14
0
    def test_take_and_pick_photo_operation(self):
        """
            test_cases/test_photo_operations.py:PhotoTestCase.test_take_and_pick_photo_operation
            Summary:
                拍照同时选中已有的图片-进入编辑加工页
        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        action = mobile_keyevent_action.KeyEventAction(self.get_driver())
        try:
            action.back(activities.ActivityNames.CAMERA2)
            curr_camera2_activity = camera2_activity.Camera2Activity(base_app)
            log.logger.info("点击拍照")
            curr_camera2_activity.tap_camera()

            log.logger.info("点击拍照完成按钮")
            curr_camera2_activity.tap_finish_camera()

            curr_publish_core_activity = publish_core_activity.PublishCoreActivity(base_app)
            self.assertTrue(curr_publish_core_activity.photo_available_list[0].is_selected, "拍照的照片在加工页未选中",
                            "拍照-刚拍的照片选中检测")

            status = curr_publish_core_activity.tap_add_photo_button()
            self.assertTrue(status, "添加图片,进入图片选择页失败")

            curr_gallery_activity = story_gallery_activity.StoryGalleryActivity(base_app)

            photo_count = curr_gallery_activity.image_photo_enable_picked_count
            curr_photo_list = curr_gallery_activity.image_photo_list
            log.logger.info("随机选1张图片")
            #  选随机选择几张图片,为了排除底部遮罩tab的干扰,图片最多选择11张
            max_pick_count = photo_count if photo_count < 11 else 11

            index = random.randint(2, max_pick_count)  # 该页面第一个格子为拍照按钮
            log.logger.info("选择相册中的第{}张照片".format(index))
            curr_photo_list[index-1].select()
            log.logger.info("验证该图片有没有被选中")
            self.assertEqual('2', curr_photo_list[index-1].check_value, "该图片没有被选中",
                             "拍照-选中已有照片检测")
            log.logger.info("该图片已被选中")

            log.logger.info("验证已选中的图片的数目")
            self.assertEqual('2', curr_gallery_activity.selected_photo_count, "选择的图片数量不一致",
                             "拍照-验证已选择照片数目")

            status = curr_gallery_activity.tap_photo_next_step_button()
            self.assertTrue(status, "进入照片加工页失败")

        except Exception as exp:
            log.logger.error("发现异常, case:test_take_and_pick_photo_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'take_and_pick_photo', exp)
예제 #15
0
    def test_search_operation(self):
        """
            test_cases/test_topic_operations.py:TopicTestCase.test_search_operation
        Summary:
            搜索操作-搜索用户/话题-点击进入用户/话题页面

        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        action = mobile_keyevent_action.KeyEventAction(self.get_driver())
        try:

            curr_discover_activity = discover_tab_activity.DiscoverTabActivity(
                base_app)

            log.logger.info("点击搜索框")
            curr_discover_activity.tap_search_box()

            log.logger.info("进入搜索页面")
            curr_search_page = discover_tab_activity.SearchPage(base_app)

            search_value = 'infashiontest'
            action.send_string(search_value)

            log.logger.info("验证搜索结果列表出现")
            self.assertTrue(curr_search_page.is_search_result_exist(),
                            "没有搜索结果", "发现页搜索用户")

            status = curr_search_page.user_list[0].tap()
            self.assertTrue(status, "进入用户in记页失败")

            action.back(activities.ActivityNames.IN_MAIN)

            log.logger.info("清空搜索框遗留内容")
            curr_search_page.top_search_bar.search_box.clear_text_field()
            action.send_proud_key()

            self.assertTrue(curr_search_page.is_search_result_exist(),
                            "没有搜索结果", "发现页搜索话题")

            status = curr_search_page.tag_list[0].tap()
            self.assertTrue(status, "进入话题页失败")

            action.back(activities.ActivityNames.IN_MAIN)
            # curr_search_page.top_search_bar.input_search_value(search_value)

        except Exception as exp:
            log.logger.error("发现异常, case:test_send_topic_topic_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'send_topic', exp)
예제 #16
0
    def test_take_photo_operation(self):
        """
            test_cases/test_photo_operations.py:PhotoTestCase.test_take_photo_operation
            Summary:
                拍照-选中拍照的图片-进入加工-返回-临时保存
        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        action = mobile_keyevent_action.KeyEventAction(self.get_driver())
        try:
            action.back(activities.ActivityNames.CAMERA2)
            curr_camera2_activity = camera2_activity.Camera2Activity(base_app)
            log.logger.info("点击拍照")
            status = curr_camera2_activity.tap_camera()
            self.assertTrue(status, "拍照失败", "点击拍照")

            log.logger.info("点击拍照完成按钮")
            status = curr_camera2_activity.tap_finish_camera()
            self.assertTrue(status, "拍照完成失败", "加工拍照图片")

            # 2.9.9之前版本的步骤
            # curr_gallery_activity = story_gallery_activity.StoryGalleryActivity(base_app)
            #
            # log.logger.info("切换一次底部tab,避免\"发布故事集\"的引导遮罩对选取图片的干扰")
            # curr_gallery_activity.tap_story_tab()
            # curr_gallery_activity.tap_photo_tab()
            #
            # status = curr_gallery_activity.open_camera()
            # self.assertTrue(status, "进入故事照片编辑页失败", "进入拍照页")
            #
            # log.logger.info('点击拍照')
            # curr_story_camera_activity = story_camera_activity.StoryCameraActivity(base_app)
            # curr_story_camera_activity.tap_camera()

            # log.logger.info('选中刚拍照的图片')
            # curr_story_camera_activity.photo_list[0].select()
            # self.assertTrue(curr_story_camera_activity.photo_list[0].is_selected, '刚拍的照片没选中', "拍照并选中刚拍的照片")
            #
            # curr_story_camera_activity.tap_next_step_button()

            curr_publish_core_activity = publish_core_activity.PublishCoreActivity(base_app)

            log.logger.info("验证返回按钮,返回拍照编辑页")
            curr_publish_core_activity.tap_back_button(save=False, cancel=False)

        except Exception as exp:
            log.logger.error("发现异常, case:test_take_photo_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'take_photo', exp)
    def test_select_city_operation(self):
        """
            test_cases/test_user_center_operations.py:UserCenterTestCase.test_edit_avatar_operation
            Summary:
                选择地区-选择城市
        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:
            curr_user_center_window = user_center_tab_window.UserCenterTabWindow(
                base_app)
            log.logger.info("点击进入用户信息页面")
            status = curr_user_center_window.tap_user_head_bar()
            self.assertTrue(status, "进入用户信息页失败")

            curr_user_info_window = user_info_window.UserInfoWindow(base_app)

            log.logger.info("选择地区为浙江杭州")
            curr_user_info_window.select_region('hangzhou')

            region_text = curr_user_info_window.region_text
            expected_text = '浙江 杭州'

            log.logger.info("验证显示的城市名")
            self.assertEqual(
                expected_text, region_text,
                "显示的名称不正确,期待名称:\"{}\",实际名称\"{}\"".format(
                    expected_text, region_text))
            log.logger.info("验证结束,结果正确")

            log.logger.info("选择地区为浙江宁波")
            curr_user_info_window.select_region('ningbo')

            region_text = curr_user_info_window.region_text
            expected_text = '浙江 宁波'

            log.logger.info("验证显示的城市名")
            self.assertEqual(
                expected_text, region_text,
                "显示的名称不正确,期待名称:\"{}\",实际名称\"{}\"".format(
                    expected_text, region_text))
            log.logger.info("验证结束,结果正确")

        except Exception as exp:
            log.logger.error("发现异常, case:test_select_city_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'select_city', exp)
    def test_send_topic_comment_operation(self):
        """
            test_cases/test_topic_operations.py:TopicTestCase.test_send_topic_comment_operation
        Summary:
            选择话题评论

        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:

            curr_discover_activity = discover_tab_activity.DiscoverTabActivity(
                base_app)

            log.logger.info("选择话题")
            status = curr_discover_activity.select_hot_topic(1)
            self.assertTrue(status, "进入话题详情页失败")

            curr_topic_activity = topic_detail_activity.TopicDetailActivity(
                base_app)
            curr_topic_activity.swipe_up_entire_scroll_view()

            curr_hot_container = curr_topic_activity.hotest_container_list[0]
            status = curr_hot_container.tap_to_submit_comment()

            self.assertTrue(status, "进入图片详情页失败")

            curr_friend_photo_activity = friend_photo_detail_activity.FriendPhotoDetailActivity(
                base_app)
            input_comment = u'in喜欢这个'
            curr_friend_photo_activity.input_comment(input_comment)
            curr_friend_photo_activity.tap_send_button()
            curr_friend_photo_activity.tap_back_button()

            user_name = self.config_model.get(
                'account', 'user_name' + self.get_current_thread_number())
            self.assertEqual(user_name + ' ' + input_comment.encode('utf8'),
                             curr_hot_container.latest_comment,
                             "最新的发布文字和刚刚发布的文字不一致")

        except Exception as exp:
            log.logger.error("发现异常, case:test_send_topic_topic_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'send_topic', exp)
    def test_create_paster_operation(self):
        """
            test_cases/test_paster_operations.py:PasterTestCase.test_create_paster_operation
            Summary:
                创建贴纸
        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:
            curr_my_own_paster_tab_activity = my_own_paster_tab_activity.MyOwnPasterTabActivity(
                base_app)

            # 记录当前贴纸个数
            tmp_my_paster_num = len(
                curr_my_own_paster_tab_activity.my_custom_paster_list)
            log.logger.info("当前已有贴纸数{}张".format(tmp_my_paster_num))

            curr_my_own_paster_tab_activity.tap_add_paster_button(auto=True)

            if curr_my_own_paster_tab_activity.is_guide_exist():
                #  如果是首次添加贴纸,则进行引导页的操作
                curr_crop_activity = custom_paster_crop_activity.CustomPasterCropActivity(
                    base_app)
                status = curr_crop_activity.tap_create_my_paster_button()
                self.assertTrue(status, "进入贴纸选择导航页失败", "创建贴纸-首次-进入贴纸引导页")

                curr_guide_photo_activity = select_photo_guide_activity.SelectPhotoGuideActivity(
                    base_app)
                status = curr_guide_photo_activity.tap_guide_tip()
                self.assertTrue(status, "进入图片选择页失败", "创建贴纸-首次-取消引导进入图片选择页")

                curr_photo_picker_activity = photo_picker_activity.PhotoPickerActivity(
                    base_app)
                index = 1
                curr_photo_picker_activity.select_image(index)
                status = curr_photo_picker_activity.tap_next_step_button()
                self.assertTrue(status, "进入图片区域选择页失败", "创建贴纸-首次-进入图片选择页")

                status = curr_crop_activity.tap_continue_button()
                self.assertTrue(status, "进入图片剪切页失败", "创建贴纸-首次-进入图片剪切页")

                log.logger.info("点击一次屏幕中心,取消图片剪切页的引导遮罩")
                base_app.tap_window_center()

                curr_cut_out_activity = cut_out_paster_activity.CutOutPasterActivity(
                    base_app)
                status = curr_cut_out_activity.tap_continue_button()
                self.assertTrue(status, "进入贴纸搭配页失败", "创建贴纸-首次-进入贴纸搭配页")

                log.logger.info("点击一下屏幕中心,取消贴纸搭配页的引导遮罩")
                base_app.tap_window_center()
            else:
                # 非首次点击添加贴纸,则从底部吊起贴纸添加选择面板
                index = 2
                log.logger.info("吊起添加贴纸面板,选择第{}张贴纸作为模板".format(index))
                status = curr_my_own_paster_tab_activity.select_paster_available(
                    index)
                self.assertTrue(status, "进入贴纸搭配页失败", "非首次-进入贴纸搭配页")

            curr_paster_editor_activity = custom_paster_editor_activity.CustomPasterEditorActivity(
                base_app)
            status = curr_paster_editor_activity.tap_continue_button()
            self.assertTrue(status, "创建贴纸失败", "创建贴纸")

            log.logger.info("验证创建的贴纸添加到了已有贴纸里面")
            now_my_paster_num = len(
                curr_my_own_paster_tab_activity.my_custom_paster_list)
            log.logger.info("现在贴纸数目{}张".format(now_my_paster_num))

            self.assertEqual(1, now_my_paster_num - tmp_my_paster_num,
                             "贴纸数量不一致,创建贴纸失败", "创建后,贴纸数目检测")

        except Exception as exp:
            log.logger.error("发现异常, case:test_paster_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'create_paster', exp)
    def test_publish_photo_operation(self):
        """
            test_cases/test_photo_operations.py:PhotoTestCase.test_publish_photo_operation
            Summary:
                发布图片
        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:
            curr_gallery_window = story_gallery_window.StoryGalleryWindow(
                base_app)

            log.logger.info("切换一次底部tab,避免\"发布故事集\"的引导遮罩对选取图片的干扰")
            curr_gallery_window.tap_story_tab()
            curr_gallery_window.tap_photo_tab()

            #  当前图片tab下的图片列表
            curr_photo_list = curr_gallery_window.image_photo_list
            photo_count = curr_gallery_window.image_photo_enable_picked_count

            picked_count = 3
            log.logger.info("随机选{}张图片".format(picked_count))
            #  选随机选择几张图片,为了排除底部遮罩tab的干扰,图片最多选择11张
            max_pick_count = photo_count if photo_count < 11 else 11
            for index, photo_index in enumerate(
                    random.sample(xrange(max_pick_count), picked_count)):
                log.logger.info("选择第{}张照片,相册中的第{}张照片".format(
                    index + 1, photo_index + 1))
                curr_photo_list[photo_index].select()
                log.logger.info("验证该图片有没有被选中")
                self.assertEqual(str(index + 1),
                                 curr_photo_list[photo_index].check_value,
                                 "该图片没有被选中")
                log.logger.info("该图片已被选中")

            log.logger.info("验证已选中的图片的数目")
            self.assertEqual(str(picked_count),
                             curr_gallery_window.selected_photo_count,
                             "选择的图片数量不一致")
            log.logger.info("已完成对已选图片数目的验证")

            curr_gallery_window.tap_photo_continue_button()

            curr_publish_core_window = publish_core_window.PublishCoreWindow(
                base_app)

            if curr_publish_core_window.is_guide_mask_exist():
                log.logger.info("点击屏幕中央,避免引导遮罩干扰")
                curr_publish_core_window.tap_window_center()

            log.logger.info("验证发布加工页的图片数")
            self.assertEqual(
                picked_count,
                len(curr_publish_core_window.photo_available_list),
                "发布加工页面图片数目不正确")

            curr_publish_core_window.tap_finish_button()

            curr_publish_window = publish_window.PublishWindow(base_app)

            curr_publish_window.input_words(u"测试图片发布")
            curr_publish_window.tap_publish_button()
            log.logger.info("开始验证发布情况")
            status = curr_publish_window.is_publish_successful()
            self.assertTrue(status, "发布失败")

        except Exception as exp:
            log.logger.error("发现异常, case:test_publish_photo_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'publish_photo', exp)
    def test_publish_paster_available_operation(self):
        """
            test_cases/test_paster_operations.py:PasterTestCase.test_publish_paster_available_operation
            Summary:
                发布已有贴纸
        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:
            curr_my_own_paster_tab_activity = my_own_paster_tab_activity.MyOwnPasterTabActivity(
                base_app)

            # 记录当前贴纸个数
            tmp_my_paster_num = len(
                curr_my_own_paster_tab_activity.my_custom_paster_list)
            log.logger.info("当前已有贴纸数{}张".format(tmp_my_paster_num))

            index = random.randint(1, tmp_my_paster_num - 1)
            log.logger.info("点击第{}张贴纸".format(index))
            status = curr_my_own_paster_tab_activity.choose_custom_paster(
                index)
            self.assertTrue(status, "吊起贴纸对话框失败", "发布已有贴纸-吊起贴纸对话框")

            curr_paster_box = custom_paster_msgbox.CustomPasterMsgBox(base_app)
            status = curr_paster_box.tap_use_button()
            self.assertTrue(status, "使用贴纸失败", "发布已有贴纸-使用贴纸")

            curr_camera2_activity = camera2_activity.Camera2Activity(base_app)

            if curr_camera2_activity.is_continue_popup_exist():
                log.logger.info("存在\"是否保留上次贴纸\"的提示遮罩")
                popup_window = continue_popup_window.ContinuePopupWindow(
                    base_app)
                log.logger.info("点击新建按钮")
                popup_window.tap_new_button()

            status = curr_camera2_activity.tap_camera()
            self.assertTrue(status, '贴纸确定失败', '使用贴纸-贴纸拍照')

            log.logger.info("确认贴纸")
            status = curr_camera2_activity.tap_finish_camera()
            self.assertTrue(status, "进入贴纸发布加工页失败")

            curr_publish_core_activity = publish_core_activity.PublishCoreActivity(
                base_app)
            if curr_publish_core_activity.is_guide_mask_exist(
            ) or curr_publish_core_activity.is_sticker_mask_exist():
                curr_publish_core_activity.tap_window_center()

            # ***********标签检测*********************
            log.logger.info('点击标签按钮,吊起标签遮罩')
            status = curr_publish_core_activity.tap_mark_tool()
            self.assertTrue(status, '吊起标签失败')

            log.logger.info('点击文字标签')
            status = curr_publish_core_activity.tap_words_tag()
            self.assertTrue(status, "进入文字标签页失败")

            curr_words_tag_activity = publish_words_tag_activity.PublishWordsTagActivity(
                base_app)
            curr_words_tag_activity.input_words(u'庐山升龙霸')
            curr_words_tag_activity.tap_add_button()

            self.assertTrue(curr_words_tag_activity.is_tag_added_successful(),
                            '标签添加失败', "发布贴纸-添加文字标签")

            log.logger.info("添加图片到发布贴纸")
            curr_publish_core_activity.tap_add_photo_button()

            log.logger.info("选择图片,编辑贴纸")
            curr_story_gallery_activity = story_gallery_activity.StoryGalleryActivity(
                base_app)
            indexes = (3, 2, 4)

            for index, value in enumerate(indexes, start=1):
                curr_story_gallery_activity.select_image_photo(value)
                self.assertEqual(
                    str(index + 1),
                    curr_story_gallery_activity.image_photo_list[
                        value - 1].check_value, "选中序号不正确",
                    "发布已有贴纸-第{}张图的序号{}检测".format(value, index))

            log.logger.info("验证总贴纸数")
            self.assertEqual('4',
                             curr_story_gallery_activity.selected_photo_count,
                             "选择的贴纸总数不正确", "发布已有贴纸-增加贴纸数检测")  # 拍照+选择3张共4张

            status = curr_story_gallery_activity.tap_photo_next_step_button()
            self.assertTrue(status, "进入发布加工页失败")

            if curr_publish_core_activity.is_guide_mask_exist(
            ) or curr_publish_core_activity.is_sticker_mask_exist():
                curr_publish_core_activity.tap_window_center()

            self.assertEqual(
                len(indexes) + 1,
                len(curr_publish_core_activity.photo_available_list),
                "发布贴纸数量不正确", "发布贴纸-发布加工页-验证贴纸图片数")

            status = curr_publish_core_activity.tap_finish_button()
            self.assertTrue(status, "进入发布页失败", "发布已有贴纸-进入发布页")
            curr_publish_activity = publish_activity.PublishActivity(base_app)
            log.logger.info("验证发布的图片数量")
            self.assertEqual(
                len(indexes) + 1,
                len(curr_publish_activity.photo_available_list), "发布贴纸数量不正确",
                "发布页-发布页验证贴纸图片数")

            curr_publish_activity.input_words(u"测试发布")
            curr_publish_activity.tap_publish_button()
            log.logger.info("开始验证发布情况")
            status = curr_publish_activity.is_publish_successful()
            self.assertTrue(status, "发布失败", "发布已有贴纸")

        except Exception as exp:
            log.logger.error(
                "发现异常, case:test_publish_paster_available_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app,
                                                'test_publish_paster', exp)
    def test_publish_story_operation(self):
        """
            test_cases/test_story_operations.py:StoryTestCase.test_publish_story_operation
            Summary:
                发布故事集
        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:
            curr_gallery_window = story_gallery_window.StoryGalleryWindow(
                base_app)

            #  当前选择的相册内的照片列表
            curr_photo_list = curr_gallery_window.story_photo_list

            # 相册集中的照片,为了排除底部四张照片被遮罩tab的干扰,最多选择前12张
            max_photo_count = len(
                curr_photo_list) if len(curr_photo_list) < 12 else 12

            picked_count = random.randint(1, max_photo_count)  # 选择的照片数量
            log.logger.info("随机选择{}张照片".format(picked_count))

            for index in random.sample(xrange(max_photo_count), picked_count):
                log.logger.info("选择第{}张照片".format(index + 1))
                curr_photo_list[index].select()
                log.logger.info("验证该图片有没有被选中")
                self.assertTrue(curr_photo_list[index].is_selected(),
                                "该图片没有被选中")
                log.logger.info("该图片已被选中")

            log.logger.info("验证已选中的图片的数目")
            self.assertEqual(str(picked_count),
                             curr_gallery_window.selected_story_photo_count,
                             "选择的图片数量不一致")

            curr_gallery_window.tap_story_continue_button()

            curr_story_edit_window = story_edit_window.StoryEditWindow(
                base_app)
            curr_story_edit_window.diary_cover_detail.input_diary_name(
                u'第一篇文章')
            curr_story_edit_window.diary_cover_detail.input_diary_beginning(
                u'文章开头')
            curr_story_edit_window.tap_preview_button()

            curr_story_preview_window = story_preview_window.StoryPreviewWindow(
                base_app)
            curr_story_preview_window.tap_next_button()

            curr_story_setting_window = story_setting_window.StorySettingWindow(
                base_app)
            curr_story_setting_window.tap_finish_button()

            curr_story_share_window = story_share_window.StoryShareWindow(
                base_app)
            self.assertTrue(curr_story_share_window.is_publish_success(),
                            "发布日记未成功")

            status = curr_story_share_window.tap_close_button()
            self.assertTrue(status, "进入in主页失败")

        except Exception as exp:
            log.logger.error("发现异常, case:test_publish_story_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'publish_story', exp)
예제 #23
0
    def test_topic_square_operation(self):
        """
            test_cases/test_topic_operations.py:TopicTestCase.test_topic_square_operation
        Summary:
            话题广场操作
            我的话题-点击话题
            分类话题-切换分类-点击话题
            推荐话题-分页加载-点击话题

        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        action = mobile_keyevent_action.KeyEventAction(self.get_driver())
        try:

            curr_discover_activity = discover_tab_activity.DiscoverTabActivity(base_app)

            curr_discover_activity.tap_hot_topic_icon()
            curr_topic_square_activity = topic_sqaure_activity.TopicSquareActivity(base_app)

            log.logger.info("点击我的tab")
            curr_topic_square_activity.tap_my_tab()

            my_topic_count = len(curr_topic_square_activity.my_topic_list)
            log.logger.info("我的话题数为{}个".format(my_topic_count))
            index = random.randint(0, my_topic_count-1)
            log.logger.info("点击第{}个话题".format(index+1))
            status = curr_topic_square_activity.my_topic_list[index].tap()
            self.assertTrue(status, "进入话题详情页失败", "热门话题-我的话题-进入话题详情页")
            action.back(activities.ActivityNames.TOPIC_SQUARE)

            log.logger.info("点击分类tab")
            curr_topic_square_activity.tap_category_tab()
            cate_count = len(curr_topic_square_activity.category_list)
            log.logger.info("话题类别数为{}个".format(cate_count))
            self.assertTrue(status, "切换话题tab", "热门话题-点击分类tab")

            index = random.randint(0, cate_count-1)
            log.logger.info("点击第{}个话题类别".format(index + 1))
            curr_topic_square_activity.category_list[index].tap(5)

            curr_topic = curr_topic_square_activity.topic_list[0]
            old_topic_name = curr_topic.topic_name
            log.logger.info("当前类别下第一个话题为\"{}\"".format(old_topic_name))

            log.logger.info("切换话题分类, 获取新的类别")

            index = self._get_different_value(0, cate_count-1, index)
            log.logger.info("切换话题类别,点击第{}个话题类别".format(index + 1))
            curr_topic_square_activity.category_list[index].tap(5)

            curr_topic = curr_topic_square_activity.topic_list[0]
            new_topic_name = curr_topic.topic_name
            log.logger.info("当前类别下第一个话题为\"{}\"".format(new_topic_name))

            self.assertNotEqual(old_topic_name, new_topic_name, "话题类别未切换", "热门话题-分类话题-切换话题分类")

            topic_count = len(curr_topic_square_activity.topic_list)
            log.logger.info("\"{}\"话题数为{}个".format(new_topic_name, topic_count))
            index = random.randint(0, topic_count - 1)
            log.logger.info("点击第{}个话题".format(index+1))
            status = curr_topic_square_activity.topic_list[index].tap()
            self.assertTrue(status, "进入话题页失败", "热门话题-分类话题-点击话题")
            action.back(activities.ActivityNames.TOPIC_SQUARE)

            log.logger.info("点击推荐tab")
            curr_topic_square_activity.tap_recommend_tab()
            curr_topic_square_activity.swipe_up_entire_scroll_view()
            self.assertTrue(True, "点击推荐tab", "热门话题-推荐话题-分页加载")

        except Exception as exp:
            log.logger.error("发现异常, case:test_topic_square_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'topic_square', exp)
예제 #24
0
    def test_friend_in_diary_operation(self):
        """
            test_cases/test_topic_operations.py:TopicTestCase.test_friend_in_diary_operation
        Summary:
            发现首页-》点击九宫格箭头-》分类-》达人分类操作->进入达人in记主页操作

        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        action = mobile_keyevent_action.KeyEventAction(self.get_driver())
        try:

            curr_discover_activity = discover_tab_activity.DiscoverTabActivity(
                base_app)

            curr_discover_activity.swipe_up_entire_scroll_view()
            log.logger.info("点击九宫格箭头跳转")
            status = curr_discover_activity.tap_head_bar_more()
            self.assertTrue(status, "进入全部分类页面失败")

            curr_cate_activity = all_category_activity.AllCategoryActivity(
                base_app)
            status = curr_cate_activity.tap_talent()
            self.assertTrue(status, "进入达人推荐页面失败")

            curr_talent_activity = talent_recommend_activity.TalentRecommendActivity(
                base_app)

            log.logger.info("点击推荐达人的头像")
            status = curr_talent_activity.talent_list[0].tap_avatar()
            self.assertTrue(status, "进入达人主页失败", "点击推荐达人头像")

            curr_personal_activity = personal_main_activity.PersonalMainActivity(
                base_app)

            log.logger.info("点击关注")
            status = curr_personal_activity.tap_follow_button()
            self.assertTrue(status, "关注对话框吊起失败", "在他人in记页点击关注达人")

            curr_follow_dialogue = curr_personal_activity.follow_dialogue
            curr_follow_dialogue.select_group('interest')  # 选择订阅分类
            curr_follow_dialogue.tap_ok_button()

            if curr_personal_activity.is_friends_recommend_exist():
                # 如果出现好友推荐,则点击收起按钮
                curr_personal_activity.tap_friends_pull_button()

            log.logger.info("进入更多页面")
            status = curr_personal_activity.tap_more_button()
            self.assertTrue(status, "进入更改页面失败", "进入他人in记资料更改页")

            curr_remark_activity = personal_remark_activity.PersonalRemarkActivity(
                base_app)
            log.logger.info("更换分组")
            status = curr_remark_activity.select_group('friends')
            self.assertTrue(status, "更换分组失败", "更换好友分组")

            log.logger.info("更换昵称")
            nick_name = 'nickname'
            curr_remark_activity.input_remark_name(nick_name)

            log.logger.info("点击头像")
            status = curr_remark_activity.tap_avatar()
            self.assertTrue(status, "点击头像失败", "资料更改页点击好友头像")

            action.back(activities.ActivityNames.REMARK)

            log.logger.info("点击完成")
            curr_remark_activity.tap_ok_button()

            log.logger.info("验证新更改的昵称")
            curr_username = curr_personal_activity.user_nickname
            self.assertEqual(
                curr_username, nick_name,
                "昵称更改失败,原昵称\"{}\",新昵称\"{}\"".format(curr_username,
                                                    nick_name), "更改备注名")
            log.logger.info("验证完毕")

            log.logger.info("点击照片")
            status = curr_personal_activity.matrix_photo_album_list[0].tap()
            self.assertTrue(status, "进入图片详情页失败", "他人in记页点击照片")
            action.back(activities.ActivityNames.DIARY_INFO)

            log.logger.info("取消关注")
            curr_personal_activity.tap_unfollow_button()
            curr_personal_activity.tap_confirm_unfollow_button()

            self.assertEqual('+ 关注', curr_personal_activity.follow_button.text,
                             "取消关注未成功", "他人in记页取消关注")

        except Exception as exp:
            log.logger.error("发现异常, case:test_friend_in_diary_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'friend_in_diary',
                                                exp)
예제 #25
0
    def test_talent_operation(self):
        """
            test_cases/test_topic_operations.py:TopicTestCase.test_talent_operation
        Summary:
            发现首页-》点击九宫格箭头-》分类-》达人分类操作/点击头像/图片/关注

        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        action = mobile_keyevent_action.KeyEventAction(self.get_driver())
        try:

            curr_discover_activity = discover_tab_activity.DiscoverTabActivity(
                base_app)

            curr_discover_activity.swipe_up_entire_scroll_view()
            log.logger.info("点击九宫格箭头跳转")
            status = curr_discover_activity.tap_head_bar_more()
            self.assertTrue(status, "进入全部分类页面失败", "进入分类页")

            curr_cate_activity = all_category_activity.AllCategoryActivity(
                base_app)
            status = curr_cate_activity.tap_talent()
            self.assertTrue(status, "进入达人推荐页面失败", "进入推荐达人页")

            curr_talent_activity = talent_recommend_activity.TalentRecommendActivity(
                base_app)

            log.logger.info("点击切换达人分类")
            curr_talent_activity.category_list[1].tap()
            status = curr_talent_activity.wait_for_talent(6)
            self.assertTrue(status, "达人加载失败", "切换达人分类-第二类目")

            curr_talent_activity.category_list[3].tap()
            status = curr_talent_activity.wait_for_talent(6)
            self.assertTrue(status, "达人加载失败", "切换达人分类-第四类目")

            log.logger.info("点击达人图片")
            status = curr_talent_activity.talent_list[0].tap_image(0)
            self.assertTrue(status, "进入图片详情页失败", "点击达人图片")
            action.back(activities.ActivityNames.TALENT_RECOMMEND)

            log.logger.info("开始关注达人")
            status = curr_talent_activity.talent_list[1].tap_follow_button()
            self.assertTrue(status, "关注按钮没选中", "关注达人")

            log.logger.info("进入达人主页取消关注")
            log.logger.info("点击推荐达人的头像")
            status = curr_talent_activity.talent_list[1].tap_avatar()
            self.assertTrue(status, "进入达人主页失败", "点击达人头像")

            curr_personal_activity = personal_main_activity.PersonalMainActivity(
                base_app)
            curr_personal_activity.tap_unfollow_button()
            curr_personal_activity.tap_confirm_unfollow_button()

            self.assertEqual('+ 关注', curr_personal_activity.follow_button.text,
                             "取消关注未成功", "取消关注达人")

        except Exception as exp:
            log.logger.error("发现异常, case:test_talent_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'test_talent', exp)
    def test_publish_story_operation(self):
        """
            test_cases/test_story_operations.py:StoryTestCase.test_publish_story_operation
            Summary:
                发布故事集
        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:
            curr_gallery_activity = story_gallery_activity.StoryGalleryActivity(
                base_app)

            #  当前页可见的按日期划分的相册列表
            curr_date_photo_albums = curr_gallery_activity.date_photo_albums

            #  为了排除底部相册集的干扰,这里选择第一个相册列表
            album_index = 0
            curr_photo_album_date, curr_photo_album = curr_date_photo_albums[
                album_index]

            #  当前选择的相册内的照片列表
            curr_photo_list = curr_photo_album[
                curr_gallery_activity.STORY_PHOTO]

            # 相册集中的照片,为了排除底部四张照片被遮罩tab的干扰,最多选择前12张
            max_photo_count = len(
                curr_photo_list) if len(curr_photo_list) < 12 else 12

            picked_count = random.randint(1, max_photo_count)  # 选择的照片数量
            log.logger.info("随机选择{}相册中的{}张照片".format(curr_photo_album_date,
                                                     picked_count))

            for index in random.sample(xrange(max_photo_count), picked_count):
                log.logger.info("选择{}相册中的第{}张照片".format(
                    curr_photo_album_date, index + 1))
                curr_photo_list[index].select()
                log.logger.info("验证该图片有没有被选中")
                self.assertTrue(
                    curr_photo_list[index].is_selected(), "该图片没有被选中",
                    "故事集-{}相册第{}张照片选中检测".format(curr_photo_album_date,
                                                index + 1))
                log.logger.info("该图片已被选中")

            log.logger.info("验证已选中的图片的数目")
            self.assertEqual(str(picked_count),
                             curr_gallery_activity.selected_photo_count,
                             "选择的图片数量不一致", "故事集-选中照片的数目检测")

            curr_gallery_activity.tap_story_next_step_button()

            curr_story_edit_activity = story_edit_activity.StoryEditActivity(
                base_app)
            curr_story_edit_activity.diary_cover_detail.input_diary_name(
                u'第一篇文章')
            curr_story_edit_activity.diary_cover_detail.input_diary_beginning(
                u'文章开头')
            curr_story_edit_activity.tap_preview_button()

            curr_story_preview_activity = story_preview_activity.StoryPreviewActivity(
                base_app)
            curr_story_preview_activity.tap_next_button()

            curr_story_setting_activity = story_setting_activity.StorySettingActivity(
                base_app)
            curr_story_setting_activity.tap_finish_button()

            curr_story_share_activity = story_share_activity.StoryShareActivity(
                base_app)
            self.assertTrue(curr_story_share_activity.is_publish_success(),
                            "发布日记未成功", "故事集-发布故事集")

            status = curr_story_share_activity.tap_close_button()
            self.assertTrue(status, "进入in主页失败", "关闭刚发布的故事集")

        except Exception as exp:
            log.logger.error("发现异常, case:test_publish_story_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'publish_story', exp)
    def test_focus_user_card_operation(self):
        """
            test_cases/test_friends_operations.py:FocusTestCase.test_focus_user_card_operation
        Summary:
            关注页用户卡片操作:点击头像-点击图片-点赞-取消点赞-评论

        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        action = mobile_keyevent_action.KeyEventAction(self.get_driver())
        try:

            curr_focus_activity = focus_tab_activity.FocusTabActivity(base_app)
            if curr_focus_activity.is_contact_friends_exisit():
                log.logger.info("关闭通讯录好友提示")
                curr_focus_activity.tap_close_contact_button()

            curr_card_list = curr_focus_activity.card_list
            log.logger.info("对屏幕中第一个用户动态卡片进行处理")

            curr_card = curr_card_list[0]

            log.logger.info("点击头像")
            status = curr_card.tap_avatar()
            self.assertTrue(status, "进入用户in记页失败")
            action.back(activities.ActivityNames.IN_MAIN, 3)

            status = curr_card.tap_photo()
            self.assertTrue(status, "进入查看图片详情页失败", "关注页用户卡片点击照片")
            action.back(activities.ActivityNames.IN_MAIN, 3)

            curr_focus_activity.swipe_up_any_view(ratio=0.5)

            #  屏幕滑动,重新获取一次当前卡片
            curr_card = curr_card_list[0]
            log.logger.info("点赞")
            status = curr_card.tap_zan()
            self.assertTrue(status, '点赞失败', "关注页用户卡片点赞")

            log.logger.info("取消点赞")
            status = curr_card.remove_zan()
            self.assertTrue(status, '点赞按钮没取消', "关注页用户卡片取消点赞")

            log.logger.info("评论照片")
            log.logger.info('点击评论按钮')
            curr_card.tap_comment()

            expected_words = u'评论' + unicode(
                str(random.random() * 10000)[:4], 'utf8')
            curr_focus_activity.send_words_box.input_words(expected_words)
            curr_focus_activity.send_words_box.tap_send_button()

            # 获取刚发送的文本,为评论列表的最后一行
            log.logger.info("检查评论内容")
            actual_words = curr_card.comment_list[-1].text
            self.assertEqual(expected_words.encode('utf-8'), actual_words,
                             "评论内容有误", "关注页用户卡片评论-评论内容")
            log.logger.info("评论内容检查完毕")

            log.logger.info("检查评论人")
            expected_user = self.config_model.get(
                'account', 'user_name' + self.get_current_thread_number())
            actual_user = curr_card.comment_user_list[-1].text
            self.assertEqual(expected_user, actual_user, "评论人有误",
                             "关注页用户卡片评论-评论人")
            log.logger.info("评论人检查完毕")

        except Exception as exp:
            log.logger.error("发现异常, case:test_focus_user_card_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'focus_user_card',
                                                exp)
예제 #28
0
    def test_publish_core_operation(self):
        """
            test_cases/test_photo_operations.py:PhotoTestCase.test_publish_core_operation
            Summary:
                选择图片-进入发布核心页-贴纸/滤镜/标签/玩字
        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:
            curr_gallery_activity = story_gallery_activity.StoryGalleryActivity(base_app)

            log.logger.info("切换一次底部tab,避免\"发布故事集\"的引导遮罩对选取图片的干扰")
            curr_gallery_activity.tap_story_tab()
            curr_gallery_activity.tap_photo_tab()

            photo_count = curr_gallery_activity.image_photo_enable_picked_count
            curr_photo_list = curr_gallery_activity.image_photo_list
            log.logger.info("随机选1张图片")
            #  选随机选择几张图片,为了排除底部遮罩tab的干扰,图片最多选择11张
            max_pick_count = photo_count if photo_count < 11 else 11

            index = random.randint(1, max_pick_count)
            log.logger.info("选择相册中的第{}张照片".format(index))
            curr_photo_list[index-1].select()
            log.logger.info("验证该图片有没有被选中")
            self.assertEqual('1', curr_photo_list[index-1].check_value, "该图片没有被选中")
            log.logger.info("该图片已被选中")

            log.logger.info("验证已选中的图片的数目")
            self.assertEqual('1', curr_gallery_activity.selected_photo_count, "选择的图片数量不一致")

            curr_gallery_activity.tap_photo_next_step_button()
            curr_publish_core_activity = publish_core_activity.PublishCoreActivity(base_app)
            if curr_publish_core_activity.is_guide_mask_exist() or curr_publish_core_activity.is_sticker_mask_exist():
                log.logger.info("存在引导遮罩,移除引导遮罩")
                curr_publish_core_activity.remove_guide_mask()

            log.logger.info("验证发布加工页的图片数")
            self.assertEqual(1, len(curr_publish_core_activity.photo_available_list),
                             "发布加工页面图片数目不正确")

            # ***********进入贴纸商城检测 ***************
            log.logger.info("点击贴纸")
            status = curr_publish_core_activity.tap_paster_button()
            self.assertTrue(status, "进入贴纸商城失败", "进入贴纸商城")
            curr_paster_mall_activity = user_paster_activity.UserPasterActivity(base_app)
            curr_paster_mall_activity.tap_back_button(window=activities.ActivityNames.PUBLISH_CORE)

            # ***********滤镜检测*********************
            log.logger.info('点击滤镜')
            status = curr_publish_core_activity.tap_filter_button()
            self.assertTrue(status, "滤镜工具栏没有吊起", "滤镜工具栏吊起")

            status = curr_publish_core_activity.tap_beauty_button()
            self.assertTrue(status, "美颜强度选项没有吊起", "美颜强度栏吊起")

            level = random.randint(0, 3)
            log.logger.info("选择美颜强度级数{}".format(level))
            curr_publish_core_activity.select_beauty_level(level)

            status = curr_publish_core_activity.tap_beauty_level()
            self.assertTrue(status, "美颜强度选项没有消失", "美颜强度栏消失")

            log.logger.info('将滤镜效果栏向左边滑动')
            curr_publish_core_activity.filter_bar.swipe_left_entire_scroll_view()

            log.logger.info('选择屏幕内第二个滤镜效果')
            curr_publish_core_activity.filter_effect_choice_list[1].select()
            self.assertTrue(curr_publish_core_activity.is_seek_bar_exist(), "滤镜效果调整框不存在", "滤镜效果调整栏检测")

            curr_publish_core_activity.filter_seek_bar.slide('right', 0.75)

            log.logger.info('将滤镜效果栏向右侧滑动,露出无滤镜效果选项')
            curr_publish_core_activity.filter_bar.swipe_right_entire_scroll_view()

            while not curr_publish_core_activity.is_no_filter_effect_displayed():
                log.logger.info("无滤镜效果不在屏幕内,继续向右滑动")
                curr_publish_core_activity.filter_bar.swipe_right_entire_scroll_view()

            log.logger.info("选择无滤镜效果")
            curr_publish_core_activity.filter_effect_choice_list[0].select()
            self.assertTrue(curr_publish_core_activity.is_seek_bar_not_exist(), "滤镜效果调整框还存在", "滤镜效果栏取消检测")

            # ***********标签检测*********************
            log.logger.info('点击标签按钮,吊起标签遮罩')
            status = curr_publish_core_activity.tap_mark_tool()
            self.assertTrue(status, '吊起标签失败', "吊起标签")

            log.logger.info('点击文字标签')
            status = curr_publish_core_activity.tap_words_tag()
            self.assertTrue(status, "进入文字标签页失败", "玩字-进入文字标签页")

            curr_words_tag_activity = publish_words_tag_activity.PublishWordsTagActivity(base_app)
            curr_words_tag_activity.input_words(u'庐山升龙霸')
            curr_words_tag_activity.tap_add_button()

            self.assertTrue(curr_words_tag_activity.is_tag_added_successful(), '标签添加失败', "添加文字标签")

            # ***********玩字检测*********************
            log.logger.info("点击玩字按钮")
            status = curr_publish_core_activity.tap_character_button()
            self.assertTrue(status, '进入玩字页面失败', "进入玩字页")
            curr_words_art_activity = publish_words_art_activity.PublishWordsArtActivity(base_app)

            log.logger.info("点击风景tab")
            curr_words_art_activity.tab_bar.scenery_tab.tap()

            log.logger.info("选择第一张字点击")
            curr_words_art_activity.word_art_list[0].tap()

            status = curr_publish_core_activity.make_words_art_popup_appearance()
            self.assertTrue(status, '玩字遮罩未呼出', "吊起玩字遮罩")

            words_art_widget = bottom_popup_art_text_window.BottomPopupArtTextWindow(base_app)

            word_count = len(words_art_widget.words_available_list)

            log.logger.info("当前推荐的文字词语个数为{}".format(word_count))
            index = random.randint(0, word_count - 1)

            log.logger.info("随机选择第{}个词语".format(index + 1))
            words_art_widget.select_words_available(index)
            status = words_art_widget.words_length_check()
            self.assertTrue(status, '文字输入的字数计算错误', "玩字-选中给定字-玩字输入字数量检测")

            words_art_widget.input_words(u'中秋月圆')
            status = words_art_widget.words_length_check()
            self.assertTrue(status, '文字输入的字数计算错误', "玩字-输入自定义字-丸子输入字数检测")

            words_art_widget.tap_use_button()

            curr_publish_core_activity.tap_finish_button()

            curr_publish_activity = publish_activity.PublishActivity(base_app)
            log.logger.info("验证发布的图片数量")
            self.assertEqual(1, len(curr_publish_activity.photo_available_list), "发布贴纸数量不正确", "发布特效照片-贴纸数量检测")

            curr_publish_activity.input_words(u"测试图片发布")
            curr_publish_activity.tap_publish_button()
            log.logger.info("开始验证发布情况")
            status = curr_publish_activity.is_publish_successful()
            self.assertTrue(status, "发布失败", "发布特效照片-发布成功")

        except Exception as exp:
            log.logger.error("发现异常, case:test_publish_core_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'take_publish_core', exp)
    def test_focus_friend_photo_operation(self):
        """
            test_cases/test_friends_operations.py:FocusTestCase.test_focus_friend_photo_operation
            Summary:
                发现-进入好友图片详情页-图片详情页操作-点击图片/头像/点赞/评论

        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        action = mobile_keyevent_action.KeyEventAction(self.get_driver())
        try:

            curr_focus_activity = focus_tab_activity.FocusTabActivity(base_app)

            if curr_focus_activity.is_contact_friends_exisit():
                log.logger.info("关闭通讯录好友提示")
                curr_focus_activity.tap_close_contact_button()

            curr_card_list = curr_focus_activity.card_list

            log.logger.info("点击首张卡片头部栏跳转")
            status = curr_card_list[0].tap_header_bar()
            self.assertTrue(status, "进入好友图片页失败", "关注页人物卡片点击头部栏")

            curr_photo_activity = friend_photo_album_detail_activity.FriendPhotoDetailActivity(
                base_app)
            log.logger.info("点击图片")
            status = curr_photo_activity.tap_photo(0)
            self.assertTrue(status, "进入图片详情页失败", "关注-图片详情页点击图片")
            action.back(activities.ActivityNames.FRIEND_PHOTO_DETAIL)

            status = curr_photo_activity.tap_tag(0)
            self.assertTrue(status, "进入标签话题页失败", "关注-图片详情页点击标签")
            action.back(activities.ActivityNames.FRIEND_PHOTO_DETAIL)

            curr_photo_activity.swipe_up_any_view(0.4)
            status = curr_photo_activity.tap_zan()
            self.assertTrue(status, "点赞失败", "关注-图片详情页点赞")

            status = curr_photo_activity.remove_zan()
            self.assertTrue(status, "取消点赞失败", "关注-图片详情页取消点赞")

            status = curr_photo_activity.tap_avatar()
            self.assertTrue(status, "进入个人详情页失败", "关注-图片详情页点击头像")
            action.back(activities.ActivityNames.FRIEND_PHOTO_DETAIL)

            log.logger.info('发表评论')

            expected_words = u'评论' + unicode(
                str(random.random() * 10000)[:4], 'utf8')
            curr_photo_activity.input_comment(expected_words)
            curr_photo_activity.tap_send_button()

            log.logger.info("检查评论内容")
            curr_photo_activity.swipe_up_entire_scroll_view()
            actual_words = curr_photo_activity.latest_comment_value
            self.assertEqual(expected_words.encode('utf-8'), actual_words,
                             "评论内容有误", "关注-图片详情页评论内容")
            log.logger.info("评论内容检查完毕")

            log.logger.info("检查评论人")
            expected_user = self.config_model.get(
                'account', 'user_name' + self.get_current_thread_number())
            actual_user = curr_photo_activity.latest_comment_user
            self.assertEqual(expected_user, actual_user, "评论人有误",
                             "关注-图片详情页评论人")
            log.logger.info("评论人检查完毕")

        except Exception as exp:
            log.logger.error(
                "发现异常, case:test_focus_friend_photo_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'friend_photo', exp)
예제 #30
0
    def test_publish_photo_operation(self):
        """
            test_cases/test_photo_operations.py:PhotoTestCase.test_publish_photo_operation
            Summary:
                发布图片
        """
        base_app = base_frame_view.BaseFrameView(self.get_driver())
        try:
            curr_gallery_activity = story_gallery_activity.StoryGalleryActivity(base_app)

            log.logger.info("切换一次底部tab,避免\"发布故事集\"的引导遮罩对选取图片的干扰")
            curr_gallery_activity.tap_story_tab()
            curr_gallery_activity.tap_photo_tab()

            #  当前图片tab下的图片列表
            curr_photo_list = curr_gallery_activity.image_photo_list
            photo_count = curr_gallery_activity.image_photo_enable_picked_count

            picked_count = 3
            log.logger.info("随机选{}张图片".format(picked_count))

            #  选随机选择几张图片,为了排除底部遮罩tab的干扰,图片最多选择11张
            max_pick_count = photo_count if photo_count < 11 else 11
            for index, photo_index in enumerate(random.sample(xrange(max_pick_count), picked_count)):
                log.logger.info("选择第{}张照片,相册中的第{}张照片".format(index+1, photo_index+1))
                curr_photo_list[photo_index].select()
                log.logger.info("验证该图片有没有被选中")
                self.assertEqual(str(index+1), curr_photo_list[photo_index].check_value, "该图片没有被选中",
                                 "发布图片-第{}张图片选中序号{}检测".format(photo_index+1, index+1))
                log.logger.info("该图片已被选中")

            log.logger.info("验证已选中的图片的数目")
            self.assertEqual(str(picked_count), curr_gallery_activity.selected_photo_count, "选择的图片数量不一致",
                             "发布图片-选中图片数目检测")

            curr_gallery_activity.tap_photo_next_step_button()

            curr_publish_core_activity = publish_core_activity.PublishCoreActivity(base_app)

            if curr_publish_core_activity.is_guide_mask_exist() or curr_publish_core_activity.is_sticker_mask_exist():
                log.logger.info("存在引导遮罩,移除引导遮罩")
                curr_publish_core_activity.remove_guide_mask()

            log.logger.info("验证发布加工页的图片数")
            self.assertEqual(picked_count, len(curr_publish_core_activity.photo_available_list),
                             "发布加工页面图片数目不正确", "发布图片-发布加工页图片数目检测")

            # ***********标签检测*********************
            log.logger.info('点击标签按钮,吊起标签遮罩')
            status = curr_publish_core_activity.tap_mark_tool()
            self.assertTrue(status, '吊起标签失败')

            log.logger.info('点击文字标签')
            status = curr_publish_core_activity.tap_words_tag()
            self.assertTrue(status, "进入文字标签页失败")

            curr_words_tag_activity = publish_words_tag_activity.PublishWordsTagActivity(base_app)
            curr_words_tag_activity.input_words(u'庐山升龙霸')
            curr_words_tag_activity.tap_add_button()

            self.assertTrue(curr_words_tag_activity.is_tag_added_successful(), '标签添加失败', "添加文字标签")

            curr_publish_core_activity.tap_finish_button()

            curr_publish_activity = publish_activity.PublishActivity(base_app)
            log.logger.info("验证发布的图片数量")
            self.assertEqual(picked_count, len(curr_publish_activity.photo_available_list), "发布贴纸数量不正确",
                             "发布页图片数目检测")

            log.logger.info("发布页点击返回按钮")
            status = curr_publish_activity.tap_back_button()
            self.assertTrue(status, "回到发布加工页失败")

            curr_publish_core_activity.tap_finish_button()

            curr_publish_activity.input_words(u"测试图片发布")
            curr_publish_activity.tap_publish_button()

            log.logger.info("开始验证发布情况")
            status = curr_publish_activity.is_publish_successful()
            self.assertTrue(status, "发布失败", "发布图片")

        except Exception as exp:
            log.logger.error("发现异常, case:test_publish_photo_operation执行失败")
            self.raise_exp_and_save_screen_shot(base_app, 'publish_photo', exp)