Beispiel #1
0
    def test_privacy_cam(self):
        """权限获取"""
        sc.logger.info('权限获取')
        fun_name = 'test_privacy_cam'

        sc.logger.info('点击“高清拍摄”按钮')
        try:
            WebDriverWait(sc.driver, 3,
                          1).until(lambda x: x.find_element_by_xpath(
                              iOS_elements.home_camera)).click()
        except TimeoutException:
            WebDriverWait(sc.driver, 3,
                          1).until(lambda x: x.find_element_by_xpath(
                              iOS_elements.el_home_camera)).click()

        sc.logger.info("授权小影访问相机和麦克风")
        try:
            WebDriverWait(
                sc.driver, 5,
                1).until(lambda x: x.find_element_by_name("好")).click()
            sc.capture_screen(fun_name, self.img_path)

            WebDriverWait(
                sc.driver, 5,
                1).until(lambda x: x.find_element_by_name("好")).click()
        except TimeoutException:
            sc.logger.info("已授权")

        sc.logger.info('返回首页')
        WebDriverWait(sc.driver, 5, 1).until(lambda x: x.find_element_by_name(
            iOS_elements.el_cam_close)).click()

        sc.logger.info('拍摄授权测试完成')
Beispiel #2
0
    def test_fans_follow(self):
        """粉丝关注/取消关注测试."""
        sc.logger.info('用户空间粉丝页面关注状态测试开始')
        fun_name = 'test_fans_follow'

        btn_follow = 'com.quvideo.xiaoying:id/btn_follow_state'
        WebDriverWait(
            sc.driver, 10,
            1).until(lambda el: el.find_element_by_id(btn_follow)).click()

        el_btn_follow = sc.driver.find_element_by_id(btn_follow)

        if el_btn_follow.text == '已关注':
            sc.logger.info('点击第一个已关注状态按钮')
            el_btn_follow.click()

            pos_btn = 'com.quvideo.xiaoying:id/buttonDefaultPositive'
            WebDriverWait(
                sc.driver, 10,
                1).until(lambda el: el.find_element_by_id(pos_btn)).click()

            sc.logger.info('第一次取消点击后,关注状态截图')
            sc.capture_screen(fun_name, self.img_path)
        else:
            sc.logger.info('点击第一个关注状态按钮')
            el_btn_follow.click()
            sc.logger.info('第一次点击关注后,关注状态截图')
            sc.capture_screen(fun_name, self.img_path)
        assert el_btn_follow is not None
Beispiel #3
0
    def test_music_06_local(self):
        """音乐库-使用本地音乐."""
        sc.logger.info('音乐库-使用本地音乐')
        fun_name = 'test_preview_local'

        WebDriverWait(sc.driver, 5,
                      1).until(lambda x: x.find_element_by_name('本地')).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('添加音乐')
        try:
            WebDriverWait(sc.driver, 5,
                          1).until(lambda x: x.find_element_by_xpath(
                              iOS_elements.el_mus_title1)).click()
        except TimeoutException:
            sc.logger.info('本地音乐不存在!')
            return True

        sc.logger.info('点击“添加”按钮')
        sc.driver.find_element_by_name('添加').click()

        sc.logger.info('暂停播放')
        WebDriverWait(sc.driver, 10, 1).until(
            lambda x: x.find_element_by_name(iOS_elements.btn_stop)).click()

        sc.logger.info('确定')
        WebDriverWait(sc.driver, 10,
                      1).until(lambda x: x.find_element_by_accessibility_id(
                          iOS_elements.btn_music_confirm)).click()

        sc.logger.info('点击“存草稿”按钮')
        WebDriverWait(
            sc.driver, 5,
            1).until(lambda el: el.find_element_by_name("存草稿")).click()
        sc.logger.info('音乐库-使用本地音乐测试完成')
Beispiel #4
0
    def test_music_02_recommend(self):
        """音乐库-推荐音乐下载."""
        sc.logger.info('音乐库-推荐音乐下载')
        fun_name = 'test_preview_recommend'

        sc.logger.info('点击“添加配乐”按钮')
        WebDriverWait(
            sc.driver, 5,
            1).until(lambda x: x.find_element_by_name("添加配乐")).click()

        # 推荐音乐下载
        sc.logger.info('向上滑动')
        start_x = self.width // 2
        start_y = self.height // 8
        start_bottom = self.height - start_y
        for i in range(2):
            sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.7, 300)

        sc.logger.info('下载音乐')
        sc.driver.find_element_by_xpath(iOS_elements.el_mus_download).click()
        # music_list = sc.driver.find_elements_by_name(iOS_elements.el_mus_download)
        # if len(music_list) >= 3:
        #     music_list = music_list[:3]
        # for el_music in music_list:
        #     el_music.click()

        sc.capture_screen(fun_name, self.img_path)
        sc.logger.info('音乐库-推荐音乐下载测试完成')
    def test_effcts_05_fx(self):
        """复杂操作-添加特效."""
        sc.logger.info('复杂操作-添加特效')
        fun_name = 'test_edit_fx'

        sc.logger.info('点击"特效"')
        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_name('特效')).click()
        sc.capture_screen(fun_name, self.img_path)

        el_more = 'xiaoying itembar down more'
        try:
            WebDriverWait(sc.driver, 5, 1).until(
                lambda x: x.find_element_by_name(el_more))
        except TimeoutException:
            sc.logger.info('当前位置已添加过"特效"')

            sc.logger.info('点击屏幕弹出已添加的特效编辑页面')
            ba.screen_tap('特效', 200, 200)

            sc.logger.info('删除')
            sc.driver.find_element_by_name('删除').click()

            sc.logger.info('添加')
            WebDriverWait(sc.driver, 10, 1).until(
                lambda x: x.find_element_by_name('添加')).click()

        sc.logger.info('下载“特效”')
        fx_list = sc.driver.find_elements_by_xpath(iOS_elements.el_fx_download)
        if fx_list:
            for fx in fx_list:
                fx.click()
                time.sleep(5)
        else:
            pass

        sc.logger.info('使用"特效"')
        sc.driver.find_element_by_xpath(iOS_elements.el_fx_cho).click()

        sc.logger.info('确认添加')
        sc.driver.find_element_by_name(iOS_elements.el_confirm_btn).click()
        time.sleep(5)

        sc.logger.info('再次添加特效')
        WebDriverWait(sc.driver, 3, 1).until(
            lambda x: x.find_element_by_name('添加')).click()

        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_name(el_more))

        sc.logger.info('使用"特效"')
        sc.driver.find_element_by_xpath(iOS_elements.el_fx_cho).click()

        sc.logger.info('确认添加')
        sc.driver.find_element_by_name(iOS_elements.el_confirm_btn).click()
        time.sleep(5)
        sc.driver.find_element_by_name(iOS_elements.el_confirm_btn).click()
        sc.logger.info('复杂操作-添加特效测试完成')
Beispiel #6
0
    def test_share_02(self):
        """分享-封面编辑."""
        sc.logger.info('分享-封面编辑.')
        fun_name = 'test_share_cover'

        sc.logger.info('更换封面')
        ba.publish_cover_add()
        sc.capture_screen(fun_name, self.img_path)
        sc.logger.info('导出-封面编辑测试完成')
Beispiel #7
0
    def test_proportion_02(self):
        '''剪辑-切换1:1比例.'''
        sc.logger.info('剪辑-切换1:1比例')
        fun_name = 'test_edit_proportion_1:1'

        sc.logger.info('选择"1:1 比例"')
        el_proportion = "vivavideo_edit_icon_proportion_1_1"
        ba.clip_proportion(el_proportion)
        sc.capture_screen(fun_name, self.img_path)
        sc.logger.info('剪辑-切换1:1比例测试完成')
    def test_effcts_03_sticker(self):
        """复杂操作-添加贴纸."""
        sc.logger.info('复杂操作-添加贴纸')
        fun_name = 'test_edit_sticker'

        sc.logger.info('点击“贴纸”')
        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_name("贴纸")).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('添加普通贴纸')
        for i in range(3):
            try:
                sc.logger.info('点击"添加"')
                WebDriverWait(sc.driver, 3, 1).until(
                    lambda x: x.find_element_by_name('添加')).click()
            except TimeoutException:
                sc.logger.info('第一次进入贴纸,无添加按钮')

            sc.logger.info('选择一个普通"贴纸"添加')
            WebDriverWait(sc.driver, 5, 1).until(
                lambda x: x.find_element_by_xpath(iOS_elements.el_sticker_cho)).click()

            sc.logger.info('确认添加')
            WebDriverWait(sc.driver, 5, 1).until(
                lambda x: x.find_element_by_name(iOS_elements.el_confirm_btn)).click()
            sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('添加GIF贴纸')
        for i in range(3):
            WebDriverWait(sc.driver, 3, 1).until(
                lambda x: x.find_element_by_name('添加')).click()

            sc.logger.info('点击GIF')
            WebDriverWait(sc.driver, 5, 1).until(
                lambda x: x.find_element_by_name('GIF')).click()
            sc.capture_screen(fun_name, self.img_path)

            sc.logger.info('添加一个GIF"贴纸"')
            ba.material_used('下载')
            sc.capture_screen(fun_name, self.img_path)

            sc.logger.info('确定')
            time.sleep(0.5)
            WebDriverWait(sc.driver, 5, 1).until(
                lambda x: x.find_element_by_name(iOS_elements.el_confirm_btn)).click()

        sc.logger.info('退出贴纸添加页面')
        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_name(iOS_elements.el_confirm_btn)).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('复杂操作-添加贴纸测试完成')
Beispiel #9
0
    def test_template_06_sticker(self):
        """素材中心-动画贴纸."""
        sc.logger.info('素材中心-动画贴纸')
        fun_name = 'test_template_sticker'

        sc.logger.info('向上滑动')
        el_text = sc.driver.find_element_by_name("字体")
        coord_x = el_text.location.get('x')
        coord_y = el_text.location.get('y')
        sc.swipe_by_ratio(coord_x, coord_y, 'up', 0.7, 500)

        sc.logger.info('点击“动画贴纸”')
        WebDriverWait(
            sc.driver, 5,
            1).until(lambda x: x.find_element_by_name('动画贴纸')).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('下载并使用动画贴纸')
        ba.material_used(iOS_elements.el_store_download1)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('添加"视频"')
        ba.gallery_clip_add('视频', 2)

        sc.logger.info('点击下一步进入预览页')
        ba.find_element_click('predicate', 10, iOS_elements.el_gallery_next)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“确认”')
        ba.effect_add_confirm()

        sc.logger.info('返回创作页')
        ba.back_to_home()

        ba.home_first_click('素材中心')

        sc.logger.info('向上滑动')
        el_text = sc.driver.find_element_by_name("字体")
        coord_x = el_text.location.get('x')
        coord_y = el_text.location.get('y')
        sc.swipe_by_ratio(coord_x, coord_y, 'up', 0.7, 500)

        sc.logger.info('点击“动画贴纸”')
        WebDriverWait(
            sc.driver, 5,
            1).until(lambda x: x.find_element_by_name('动画贴纸')).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('删除下载的动画贴纸')
        ba.material_manager('动画贴纸', iOS_elements.el_store_del)
        sc.capture_screen(fun_name, self.img_path)
        sc.logger.info('素材中心-动画贴纸测试完成')
Beispiel #10
0
    def test_preview_01(self):
        """预览页-创建相册MV."""
        sc.logger.info('预览页-创建相册MV')
        fun_name = 'test_preview_MV'

        sc.logger.info('相册MV')
        ba.home_first_click('相册MV')
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('添加图片')
        ba.gallery_clip_add('图片', 5)

        sc.logger.info('点击下一步进入预览页')
        ba.find_element_click('predicate', 10, iOS_elements.el_gallery_next)
Beispiel #11
0
    def test_fans_home(self):
        """点击粉丝头像进入粉丝空间测试."""
        sc.logger.info('粉丝空间空间测试')
        fun_name = 'test_fans_home'

        avatar_img = 'com.quvideo.xiaoying:id/avatar_img'
        WebDriverWait(
            sc.driver, 10,
            1).until(lambda el: el.find_element_by_id(avatar_img)).click()

        sc.logger.info('点击粉丝头像后,进入粉丝空间截图')
        sc.capture_screen(fun_name, self.img_path)
        sc.driver.press_keycode(4)
        assert avatar_img is not None
Beispiel #12
0
    def test_edit_collage_01_img(self):
        """剪辑-画中画-图片添加."""
        sc.logger.info('剪辑-画中画-图片添加')
        fun_name = 'test_edit_collage_img'

        sc.logger.info('打开一个草稿视频')
        ba.home_first_click('更多草稿')

        sc.logger.info('点击草稿封面')
        ba.open_draft(iOS_elements.el_studio_draft)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“素材·效果”')
        WebDriverWait(
            sc.driver, 5,
            1).until(lambda x: x.find_element_by_name("素材·效果")).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击"画中画"')
        WebDriverWait(
            sc.driver, 5,
            1).until(lambda x: x.find_element_by_name('画中画')).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('添加图片画中画')
        ba.collage_add('图片')
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('确认添加')
        ba.effect_add_confirm()
        sc.logger.info('剪辑-画中画-图片添加测试完成')
Beispiel #13
0
    def test_share_01(self):
        """分享-标题&描述."""
        sc.logger.info('分享-标题&描述.')
        fun_name = 'test_share_title'

        sc.logger.info('点击创作中心主按钮')
        ba.home_enter()

        sc.logger.info('点击第一个草稿封面')
        ba.find_element_click('xpath', 5, iOS_elements.el_home_draft)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('保存/上传')
        WebDriverWait(
            sc.driver, 5,
            1).until(lambda x: x.find_element_by_name("保存/上传")).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('关闭定位服务')
        try:
            WebDriverWait(sc.driver, 3,
                          1).until(lambda x: x.find_element_by_xpath(
                              iOS_elements.el_loc_clo)).click()
            sc.capture_screen(fun_name, self.img_path)
        except TimeoutException:
            sc.logger.info('不是第一次点击保存/上传按钮')

        sc.logger.info('输入标题和描述')
        ba.publish_input()
        sc.capture_screen(fun_name, self.img_path)
        sc.logger.info('导出-标题&描述测试完成')
Beispiel #14
0
    def test_export_01_add(self):
        """导出-添加镜头."""
        sc.logger.info('导出-添加镜头')
        fun_name = 'test_export_add'

        sc.logger.info('打开一个草稿视频')
        ba.home_first_click('更多草稿')

        sc.logger.info('点击草稿封面')
        ba.open_draft(iOS_elements.el_studio_draft)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“镜头编辑”')
        WebDriverWait(
            sc.driver, 5,
            1).until(lambda x: x.find_element_by_name("镜头编辑")).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('从相册添加')
        ba.clip_add('相册')
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('拍摄添加镜头')
        ba.clip_add('拍摄')
        sc.capture_screen(fun_name, self.img_path)
        sc.logger.info('导出-添加镜头测试完成')
Beispiel #15
0
    def test_edit_sound_03_cancel(self):
        """剪辑-配音-放弃."""
        sc.logger.info('剪辑-配音-放弃')
        fun_name = 'test_edit_sound_cancel'

        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_name('配音和音效')).click()

        sc.logger.info('删除已添加的配音或音效')
        try:
            WebDriverWait(sc.driver, 3, 1).until(
                lambda x: x.find_element_by_accessibility_id(iOS_elements.btn_rec_start))
        except TimeoutException:
            sc.logger.info('当前位置已添加配音或音效,删除后录制')
            sc.driver.find_element_by_name('删除').click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('"录制"一段音频')
        ba.sound_rec_add()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('取消添加')
        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_name(iOS_elements.el_cancel_btn)).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('确定放弃')
        sc.driver.find_element_by_name('确认').click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“存草稿”按钮')
        WebDriverWait(sc.driver, 5, 1).until(
            lambda el: el.find_element_by_name("存草稿")).click()
        sc.logger.info('剪辑-配音-放弃测试完成')
Beispiel #16
0
    def test_proportion_01(self):
        '''剪辑-切换到比例.'''
        sc.logger.info('剪辑-切换到比例')
        fun_name = 'test_edit_proportion'

        sc.logger.info('打开一个草稿视频')
        ba.home_first_click('更多草稿')

        sc.logger.info('点击草稿封面')
        ba.open_draft(iOS_elements.el_studio_draft)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“镜头编辑”')
        WebDriverWait(
            sc.driver, 5,
            1).until(lambda x: x.find_element_by_name("镜头编辑")).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击"比例"')
        WebDriverWait(
            sc.driver, 5,
            1).until(lambda x: x.find_element_by_name("比例和背景")).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('切换到"比例tab"')
        try:
            WebDriverWait(sc.driver, 5,
                          1).until(lambda x: x.find_element_by_name(
                              iOS_elements.btn_bg_pro)).click()
            sc.capture_screen(fun_name, self.img_path)
        except TimeoutException:
            sc.logger.info('已经在"比例tab"')

        sc.logger.info('剪辑-进入比例页面测试完成')
Beispiel #17
0
    def test_export_03_720P(self):
        """导出-720P."""
        sc.logger.info('导出-720P')
        fun_name = 'test_export_720P'

        sc.logger.info('点击“保存到相册”')
        WebDriverWait(
            sc.driver, 5,
            1).until(lambda x: x.find_element_by_name("保存到相册")).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“高清 720P”')
        ba.export_video("高清 720P")
        sc.capture_screen(fun_name, self.img_path)
        sc.logger.info('导出-保存到相册-720P-二次导出测试完成')
Beispiel #18
0
    def test_template_03_fx(self):
        """素材中心-特效."""
        sc.logger.info('素材中心-特效')
        fun_name = 'test_template_effect'

        sc.logger.info('点击“特效”')
        WebDriverWait(sc.driver, 5,
                      1).until(lambda x: x.find_element_by_name('特效')).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('下拉刷新')
        ba.refresh('down', 0.3, 500, 1)

        try:
            sc.logger.info('点击"使用"')
            WebDriverWait(
                sc.driver, 5,
                1).until(lambda x: x.find_element_by_name("使用")).click()
        except TimeoutException:
            sc.logger.info('该素材尚未下载,下载后再"使用"')
            time.sleep(1)
            fx_cover = '//*/XCUIElementTypeCollectionView/*/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeButton'
            WebDriverWait(
                sc.driver, 5,
                1).until(lambda x: x.find_element_by_xpath(fx_cover)).click()

            WebDriverWait(
                sc.driver, 5,
                1).until(lambda x: x.find_element_by_name('下载')).click()

            WebDriverWait(
                sc.driver, 10,
                1).until(lambda x: x.find_element_by_name("使用")).click()

        sc.logger.info('添加"视频"')
        ba.gallery_clip_add('视频', 2)

        sc.logger.info('点击下一步进入预览页')
        ba.find_element_click('predicate', 10, iOS_elements.el_gallery_next)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“确认”')
        ba.effect_add_confirm()

        sc.logger.info('返回创作页')
        ba.back_to_home()

        ba.home_first_click('素材中心')

        sc.logger.info('点击“特效”')
        WebDriverWait(sc.driver, 5,
                      1).until(lambda x: x.find_element_by_name('特效')).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('删除下载的特效')
        ba.material_manager('特效', iOS_elements.el_store_del)
        sc.capture_screen(fun_name, self.img_path)
        sc.logger.info('素材中心-特效测试完成')
Beispiel #19
0
    def test_edit_transition_02(self):
        """剪辑-转场-下载使用."""
        sc.logger.info('剪辑-转场-下载使用')
        fun_name = 'test_edit_transition_use'

        sc.logger.info('下载并使用转场')
        ba.clip_transition()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“存草稿”按钮')
        WebDriverWait(
            sc.driver, 5,
            1).until(lambda el: el.find_element_by_name("存草稿")).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('剪辑-转场-下载使用测试完成')
Beispiel #20
0
    def test_music_05_delete(self):
        """音乐库-删除已下载音乐."""
        sc.logger.info('音乐库-删除已下载音乐')
        fun_name = 'test_preview_delete'

        sc.logger.info('点击删除按钮')
        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_name(iOS_elements.el_mus_del)).click()

        sc.logger.info('选择一首已下载音乐')
        el_check = sc.driver.find_elements_by_name(iOS_elements.el_mus_cho)
        el_check[0].click()

        sc.logger.info('再次点击删除按钮')
        WebDriverWait(sc.driver, 5, 1).until(lambda x: x.find_element_by_name(
            iOS_elements.el_mus_del2)).click()
        sc.capture_screen(fun_name, self.img_path)
        sc.logger.info('音乐库-删除已下载音乐测试完成')
Beispiel #21
0
    def test_sticker_02(self):
        """剪辑-动画贴纸-添加."""
        sc.logger.info('剪辑-动画贴纸-添加')
        fun_name = 'test_edit_sticker_add'

        sc.logger.info('添加一个普通"贴纸"')
        ba.sticker_comm_add()

        sc.logger.info('确认添加')
        WebDriverWait(sc.driver, 5, 1).until(lambda x: x.find_element_by_name(
            iOS_elements.el_confirm_btn)).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('添加第二个贴纸并放弃')
        WebDriverWait(sc.driver, 10,
                      1).until(lambda x: x.find_element_by_name('添加')).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('剪辑-动画贴纸-添加测试完成')
Beispiel #22
0
    def test_music_01(self):
        """拍摄-音乐视频(3:4)-音频下载."""
        sc.logger.info('拍摄-音乐视频(3:4)-音频下载')
        fun_name = 'test_music_download'

        sc.logger.info('点击音乐视频')
        ba.home_first_click('音乐视频')

        # 第一次从次要功能位打开音乐视频,拍摄按钮是另一个控件,所以先关闭再打开
        sc.logger.info('退出拍摄')
        time.sleep(0.5)
        WebDriverWait(sc.driver, 5, 1).until(lambda x: x.find_element_by_name(
            iOS_elements.el_cam_close)).click()

        # 退回首页后,常无法再次获取到音乐视频控件,此处重启一次app
        sc.logger.info('重启app')
        sc.driver.close_app()
        time.sleep(1)
        sc.driver.launch_app()

        sc.logger.info('点击音乐视频')
        ba.home_first_click('音乐视频')

        sc.logger.info('切换到3:4拍摄')
        time.sleep(1)
        ba.find_element_click('name', 5, iOS_elements.el_ful)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“点击添加配乐”按钮')
        sc.driver.find_element_by_name("点击添加配乐").click()
        time.sleep(2)

        sc.logger.info('下拉刷新')
        start_x = self.width // 2
        start_bottom = self.height // 5
        sc.swipe_by_ratio(start_x, start_bottom, 'down', 0.3, 300)

        sc.logger.info('下载音乐')
        sc.driver.find_element_by_xpath(iOS_elements.el_mus_download).click()
        time.sleep(10)
        sc.logger.info('拍摄-音乐视频(3:4)-音频下载完成')
Beispiel #23
0
    def test_privacy_album(self):
        """权限获取"""
        sc.logger.info('权限获取')
        fun_name = 'test_privacy_album'

        sc.logger.info('点击创作中心主按钮')
        ba.home_enter()

        sc.logger.info('点击“视频剪辑”按钮')
        try:
            WebDriverWait(sc.driver, 5,
                          1).until(lambda x: x.find_element_by_xpath(
                              iOS_elements.el_home_edit)).click()
        except TimeoutException:
            WebDriverWait(sc.driver, 5,
                          1).until(lambda x: x.find_element_by_xpath(
                              iOS_elements.home_edit)).click()

        try:
            sc.driver.find_element_by_name("跳过").click()
            sc.capture_screen(fun_name, self.img_path)
        except NoSuchElementException:
            sc.logger.info('已跳过订阅页面')

        sc.logger.info("授权小影访问相册和媒体资料")
        try:
            WebDriverWait(
                sc.driver, 5,
                1).until(lambda x: x.find_element_by_name("好")).click()
            sc.capture_screen(fun_name, self.img_path)

            WebDriverWait(
                sc.driver, 5,
                1).until(lambda x: x.find_element_by_name("好")).click()
        except TimeoutException:
            sc.logger.info("已授权")

        sc.logger.info('返回首页')
        WebDriverWait(sc.driver, 5, 1).until(lambda x: x.find_element_by_name(
            iOS_elements.gallery_back)).click()
        sc.logger.info('相册授权测试完成')
Beispiel #24
0
    def test_sticker_03(self):
        """剪辑-动画贴纸-GIF添加."""
        sc.logger.info('剪辑-动画贴纸-GIF添加')
        fun_name = 'test_edit_sticker_GIF'

        sc.logger.info('点击GIF')
        WebDriverWait(
            sc.driver, 10,
            1).until(lambda x: x.find_element_by_name('GIF')).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('添加一个GIF"贴纸"')
        ba.material_used('下载')
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('确定')
        time.sleep(0.5)
        WebDriverWait(sc.driver, 5, 1).until(lambda x: x.find_element_by_name(
            iOS_elements.el_confirm_btn)).click()

        sc.logger.info('剪辑-动画贴纸-GIF添加测试完成')
Beispiel #25
0
    def test_user_fans(self):
        """测试用户空间粉丝页面的初始状态."""
        sc.logger.info('用户空间粉丝页面初始状态检查测试开始')
        fun_name = 'test_user_fans'

        sc.logger.info('点击个人中心主按钮')
        p_btn = 'com.quvideo.xiaoying:id/img_studio'
        WebDriverWait(
            sc.driver, 10,
            1).until(lambda c_btn: c_btn.find_element_by_id(p_btn)).click()

        el_tab_list = sc.driver.find_elements_by_id(
            'com.quvideo.xiaoying:id/text_tab_title')

        for el_tab in el_tab_list:
            if el_tab.text == '粉丝':
                sc.logger.info('点击“粉丝”tab')
                el_tab.click()
        sc.logger.info('粉丝页面初始状态截图开始')
        sc.capture_screen(fun_name, self.img_path)
        assert el_tab is not None
Beispiel #26
0
    def test_template_02_filter(self):
        """素材中心-滤镜."""
        sc.logger.info('素材中心-滤镜')
        fun_name = 'test_template_filter'

        sc.logger.info('点击“滤镜”')
        WebDriverWait(sc.driver, 5,
                      1).until(lambda x: x.find_element_by_name('滤镜')).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('下载并使用滤镜')
        ba.material_used(iOS_elements.el_store_download2)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('添加"视频"')
        ba.gallery_clip_add('视频', 2)

        sc.logger.info('点击下一步进入预览页')
        ba.find_element_click('predicate', 10, iOS_elements.el_gallery_next)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“确认”')
        sc.driver.find_element_by_name(iOS_elements.el_confirm_btn).click()

        sc.logger.info('返回创作页')
        ba.back_to_home()

        WebDriverWait(
            sc.driver, 5,
            1).until(lambda x: x.find_element_by_name('素材中心')).click()

        sc.logger.info('点击“滤镜”')
        WebDriverWait(sc.driver, 5,
                      1).until(lambda x: x.find_element_by_name('滤镜')).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('删除下载的滤镜')
        ba.material_manager('滤镜', iOS_elements.el_store_del)
        sc.capture_screen(fun_name, self.img_path)
        sc.logger.info('素材中心-滤镜测试完成')
Beispiel #27
0
    def test_template_04_font(self):
        """素材中心-字体."""
        sc.logger.info('素材中心-字体')
        fun_name = 'test_template_font'

        ba.home_first_click('素材中心')

        sc.logger.info('点击“字体”')
        WebDriverWait(sc.driver, 5,
                      1).until(lambda x: x.find_element_by_name('字体')).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('下载并使用字体')
        ba.material_used(iOS_elements.el_store_download1)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('添加"视频"')
        ba.gallery_clip_add('视频', 2)

        sc.logger.info('点击下一步进入预览页')
        ba.find_element_click('predicate', 10, iOS_elements.el_gallery_next)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“确认”')
        ba.effect_add_confirm()

        sc.logger.info('返回创作页')
        ba.back_to_home()

        ba.home_first_click('素材中心')

        sc.logger.info('点击“字体”')
        WebDriverWait(sc.driver, 5,
                      1).until(lambda x: x.find_element_by_name('字体')).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('删除下载的字体')
        ba.material_manager('字体', iOS_elements.el_store_del)
        sc.capture_screen(fun_name, self.img_path)
        sc.logger.info('素材中心-字体测试完成')
Beispiel #28
0
    def test_effcts_05_sound(self):
        """复杂操作-添加配音和音效."""
        sc.logger.info('复杂操作-添加配音和音效')
        fun_name = 'test_edit_sound'

        sc.logger.info('左滑并点击"配音和音效"')
        el_loc = WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_name('画中画'))
        ba.swipe_left(el_loc, 0.3, 300)

        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_name('配音和音效')).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('"录制"一段音频')
        ba.sound_rec_add()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('添加一段音效')
        ba.sound_audio_add()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('确认添加')
        time.sleep(2)
        WebDriverWait(sc.driver, 15, 1).until(
            lambda x: x.find_element_by_name(iOS_elements.el_confirm_btn)).click()
        sc.logger.info('复杂操作-添加配音和音效测试完成')
Beispiel #29
0
    def test_effcts_01_music(self):
        """复杂操作-添加配乐."""
        sc.logger.info('复杂操作-添加配乐')
        fun_name = 'test_effcts_music'

        sc.logger.info('打开一个草稿视频')
        ba.home_first_click('更多草稿')

        sc.logger.info('点击草稿封面')
        ba.open_draft(iOS_elements.el_studio_draft)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“素材·效果”')
        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_name("素材·效果")).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击"多段配乐"')
        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_name('多段配乐')).click()

        sc.logger.info("循环添加3个'配乐'")
        for i in range(3):
            ba.loop_add_music()
            time.sleep(1)
            sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('确认添加')
        sc.logger.info('确定')
        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_name(iOS_elements.el_confirm_btn)).click()
        sc.logger.info('复杂操作-添加配乐测试完成')
Beispiel #30
0
    def test_edit_fx_01(self):
        """剪辑-特效下载."""
        sc.logger.info('剪辑-特效下载')
        fun_name = 'test_edit_fx_download'

        sc.logger.info('点击创作中心主按钮')
        ba.home_enter()

        sc.logger.info('点击视频剪辑')
        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_xpath(iOS_elements.el_home_edit)).click()

        sc.logger.info('添加视频')
        ba.gallery_clip_add('视频', 2)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击下一步')
        ba.find_element_click('predicate', 10, iOS_elements.el_gallery_next)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“效果”')
        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_name("素材·效果")).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击"特效"')
        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_name('特效')).click()
        sc.logger.info('剪辑-特效下载测试完成')