Ejemplo n.º 1
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('剪辑-画中画-图片添加测试完成')
Ejemplo n.º 2
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('剪辑-进入比例页面测试完成')
Ejemplo n.º 3
0
    def test_clips_add_01(self):
        """剪辑-添加镜头-相册添加."""
        sc.logger.info('剪辑-添加镜头-相册添加')
        fun_name = 'test_edit_add_clips'

        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('退出预览页')
        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_xpath(iOS_elements.el_pre_clo)).click()

        sc.logger.info('确定退出')
        WebDriverWait(sc.driver, 5, 1).until(
            lambda x: x.find_element_by_name('保存并退出')).click()

        try:
            WebDriverWait(sc.driver, 10, 1).until(
                lambda el: el.find_element_by_xpath('//XCUIElementTypeButton[@name="1"]')).click()
        except TimeoutException:
            sc.logger.info('返回首页后,无广告弹出')
        sc.logger.info('剪辑-添加镜头-相册添加测试完成')
Ejemplo n.º 4
0
    def test_edit_transition_01(self):
        """剪辑-进入转场."""
        sc.logger.info('剪辑-进入转场')
        fun_name = 'test_edit_transition'

        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('点击“转场icon”')
        try:
            WebDriverWait(sc.driver, 5,
                          1).until(lambda x: x.find_element_by_name(
                              iOS_elements.btn_transition_icon)).click()
            sc.capture_screen(fun_name, self.img_path)
        except TimeoutException:
            sc.logger.info('只有一个镜头,无法使用转场')
            return True

        sc.logger.info('剪辑-进入转场测试完成')
Ejemplo n.º 5
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('导出-添加镜头测试完成')
Ejemplo n.º 6
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('复杂操作-添加配乐测试完成')
Ejemplo n.º 7
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('素材中心-特效测试完成')
Ejemplo n.º 8
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('素材中心-动画贴纸测试完成')
Ejemplo n.º 9
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)
Ejemplo n.º 10
0
    def test_edit_sound_01_rec(self):
        """剪辑-配音-录制."""
        sc.logger.info('剪辑-配音-录制')
        fun_name = 'test_edit_sound_rec'

        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('左滑并点击"配音和音效"')
        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('删除已添加的配音或音效')
        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_confirm_btn)).click()
        sc.capture_screen(fun_name, self.img_path)
        sc.logger.info('剪辑-配音-录制添加测试完成')
Ejemplo n.º 11
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)-音频下载完成')
Ejemplo n.º 12
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('素材中心-字体测试完成')
Ejemplo n.º 13
0
    def test_music_01_add(self):
        """预览页-配乐."""
        sc.logger.info('配乐操作相关')
        fun_name = 'test_music_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.preview_music()
        sc.capture_screen(fun_name, self.img_path)
        sc.logger.info('预览页-配乐测试完成')
Ejemplo n.º 14
0
    def test_self_01_sticker(self):
        """拍摄-美颜趣拍(全屏)-人脸贴纸."""
        sc.logger.info('拍摄-美颜趣拍(全屏)-人脸贴纸')
        fun_name = 'test_01_sticker'

        sc.logger.info('点击“美颜趣拍”')
        ba.home_first_click("美颜趣拍")
        sc.capture_screen(fun_name, self.img_path)

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

        sc.logger.info('点击“美颜趣拍”')
        WebDriverWait(sc.driver, 5).until(
            lambda x: x.find_element_by_name('美颜趣拍')).click()

        sc.logger.info('点击人脸贴纸icon')
        ba.find_element_click('name', 10, iOS_elements.el_sticker_icon)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('下载人脸贴纸')
        WebDriverWait(sc.driver, 5).until(
            lambda x: x.find_element_by_xpath(iOS_elements.el_sticker_download)).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('使用下载的人脸贴纸')
        ba.find_element_click('xpath', 10, iOS_elements.el_sticker_used)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击屏幕消除贴纸控件')
        actions = TouchAction(sc.driver)
        actions.tap(None, 200, 200).release().perform()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('拍摄-美颜趣拍(全屏)-人脸贴纸测试完成')
Ejemplo n.º 15
0
    def test_edit_music_01(self):
        """剪辑-多段配乐-添加."""
        sc.logger.info('剪辑-多段配乐-添加')
        fun_name = 'test_music_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.effects_music()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('确认添加')
        ba.effect_add_confirm()
        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()

        try:
            WebDriverWait(sc.driver, 10,
                          1).until(lambda el: el.find_element_by_xpath(
                              '//XCUIElementTypeButton[@name="1"]')).click()
        except TimeoutException:
            sc.logger.info('返回首页后,无广告弹出')
        sc.logger.info('剪辑-多段配乐-添加测试完成')
Ejemplo n.º 16
0
    def test_sticker_01(self):
        """剪辑-动画贴纸."""
        sc.logger.info('剪辑-进入动画贴纸')
        fun_name = 'test_edit_sticker'

        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('剪辑-进入动画贴纸测试完成')
Ejemplo n.º 17
0
    def test_template_08_transition(self):
        """素材中心-转场."""
        sc.logger.info('素材中心-转场')
        fun_name = 'test_template_transition'
        start_x = self.width // 2
        start_y = self.height // 8
        start_bottom = self.height - start_y

        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('向上滑动直到最底部')
        while True:
            try:
                sc.driver.find_element_by_name("没有更多了…").click()
                break
            except NoSuchElementException:
                sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.7, 300)

        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('点击“确认”')
        sc.driver.find_element_by_name(iOS_elements.el_confirm_btn).click()

        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('素材中心-动画贴纸测试完成')
Ejemplo n.º 18
0
    def test_template_01_theme(self):
        """素材中心-主题."""
        sc.logger.info('素材中心-主题')
        fun_name = 'test_template_theme'

        ba.home_first_click('素材中心')
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击顶部banner')
        WebDriverWait(sc.driver, 5,
                      1).until(lambda el: el.find_element_by_xpath(
                          iOS_elements.el_banner)).click()

        sc.logger.info('返回')
        try:
            WebDriverWait(
                sc.driver, 5, 1).until(lambda el: el.find_element_by_xpath(
                    '//XCUIElementTypeButton[@name="vivavideo com nav back n"]'
                )).click()
        except TimeoutException:
            sc.driver.find_element_by_xpath(
                '//XCUIElementTypeButton[@name="vivavideo back n"]').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('取消限制弹窗')
        try:
            WebDriverWait(sc.driver, 3,
                          1).until(lambda x: x.find_element_by_name(
                              iOS_elements.el_cancel)).click()
        except TimeoutException:
            sc.logger.info('限制弹窗已取消')

        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.logger.info('删除下载的主题')
        ba.material_manager('主题', iOS_elements.el_store_del)
        sc.capture_screen(fun_name, self.img_path)
        sc.logger.info('素材中心-主题测试完成')
Ejemplo n.º 19
0
    def test_edit_filter(self):
        """剪辑-滤镜下载/使用."""
        sc.logger.info('剪辑-滤镜下载/使用')
        fun_name = 'test_edit_filter'

        start_x = self.width // 2
        start_y = self.height // 8
        start_bottom = self.height - start_y

        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('下载更多')
        try:
            sc.driver.find_element_by_name('下载更多').click()
        except NoSuchElementException:
            sc.logger.info('右滑一些,再选择下载更多')
            el_fliter = sc.driver.find_element_by_name("缓流")
            coord_x = el_fliter.location.get('x')
            coord_y = el_fliter.location.get('y')
            sc.swipe_by_ratio(coord_x, coord_y, 'right', 0.5, 500)

            sc.driver.find_element_by_name('下载更多').click()
        sc.capture_screen(fun_name, self.img_path)

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

        sc.logger.info('下载并使用滤镜')
        while True:
            try:
                sc.driver.find_element_by_name(iOS_elements.el_store_download2).click()
                break
            except NoSuchElementException:
                sc.logger.info('当前页面已无未下载主题')
                sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.5, 300)

        sc.logger.info('使用滤镜')
        WebDriverWait(sc.driver, 20, 1).until(
            lambda x: x.find_element_by_name("使用")).click()

        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('点击“确认”')
        sc.driver.find_element_by_name(iOS_elements.el_confirm_btn).click()

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

        sc.logger.info('剪辑-滤镜下载/使用测试完成')