예제 #1
0
    def test_gallery_02(self):
        """相册-图片相关操作."""
        sc.logger.info('相册-图片相关操作')
        fun_name = 'test_gallery_img'

        sc.logger.info('选择图片')
        WebDriverWait(
            sc.driver, 3,
            1).until(lambda el: el.find_element_by_name('视频')).click()

        WebDriverWait(
            sc.driver, 3,
            1).until(lambda el: el.find_element_by_name('图片')).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('选择一个图片并进行相关操作')
        ba.gallery_clip_op()
        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('返回创作页')
        ba.back_to_home()
        sc.logger.info('相册-图片相关操作测试完成')
예제 #2
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('剪辑-特效下载测试完成')
예제 #3
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('导出-标题&描述测试完成')
예제 #4
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('素材中心-特效测试完成')
예제 #5
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('素材中心-动画贴纸测试完成')
예제 #6
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)
예제 #7
0
    def test_create_draft(self):
        """添加多个镜头创建草稿视频."""
        sc.logger.info('创建一个草稿视频')
        fun_name = 'test_create_craft'

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

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

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

        sc.logger.info('选择一个视频并进行旋转,剪切操作')
        ba.gallery_clip_op()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('切换到图片')
        sc.driver.find_element_by_name("视频").click()
        sc.driver.find_element_by_name("图片").click()

        sc.logger.info('添加图片')
        ba.gallery_clip_add('图片', 5)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('选择一个图片并进行旋转操作')
        ba.gallery_clip_op()
        sc.capture_screen(fun_name, self.img_path)

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

        sc.logger.info('点击“存草稿”按钮')
        WebDriverWait(
            sc.driver, 5,
            1).until(lambda el: el.find_element_by_name("存草稿")).click()
        sc.logger.info('创建一个草稿视频完成')
예제 #8
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)-音频下载完成')
예제 #9
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('素材中心-滤镜测试完成')
예제 #10
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('素材中心-字体测试完成')
예제 #11
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('拍摄-美颜趣拍(全屏)-人脸贴纸测试完成')
예제 #12
0
    def test_normal_03_shot(self):
        """拍摄-高清相机(前置1:1)."""
        sc.logger.info('拍摄-高清相机(前置1:1)')
        fun_name = 'test_camera_normal_shot'

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

        sc.logger.info('切换拍摄模式:自拍美颜->高清相机')
        el_normal = "高清相机"
        ba.find_element_click('name', 5, el_normal)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('切换到前置')
        time.sleep(1)
        sc.driver.find_element_by_name(iOS_elements.el_cam_switch).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('切换到1:1')
        ba.find_element_click('name', 5, iOS_elements.el_ful)
        ba.find_element_click('name', 5, iOS_elements.el_fou)
        sc.capture_screen(fun_name, self.img_path)

        # 点拍
        sc.logger.info('拍摄一段5s的视频')
        btn_rec = WebDriverWait(sc.driver, 10).until(
            lambda x: x.find_element_by_xpath(iOS_elements.el_cp_normal))
        ba.video_capture('点拍', btn_rec, 5)

        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('点击“存草稿”按钮')
        WebDriverWait(
            sc.driver, 5,
            1).until(lambda el: el.find_element_by_name("存草稿")).click()
        sc.logger.info('拍摄-高清相机拍摄完成')
예제 #13
0
    def test_cancel_02_save(self):
        """拍摄-拍摄页保存."""
        sc.logger.info('拍摄-拍摄页保存')
        fun_name = 'test_cancel_save'

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

        sc.logger.info('切换拍摄模式:自拍美颜->高清相机')
        el_normal = "高清相机"
        ba.find_element_click('name', 5, el_normal)
        sc.capture_screen(fun_name, self.img_path)

        # 点拍
        sc.logger.info('录制两段5s的视频')
        el_capture = WebDriverWait(sc.driver, 10).until(
            lambda x: x.find_element_by_xpath(iOS_elements.el_cp_normal))
        for i in range(2):
            el_capture.click()
            sc.capture_screen(fun_name, self.img_path)
            time.sleep(5)
            el_capture.click()
            time.sleep(1)

        sc.logger.info('撤销第二段视频')
        for i in range(2):
            sc.driver.find_element_by_name("撤销").click()
            sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击左上角取消按钮')
        ba.find_element_click('name', 5, iOS_elements.el_cam_close)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“保存”按钮')
        ba.find_element_click('name', 5, iOS_elements.el_save)
        sc.logger.info('拍摄-拍摄页保存测试完成')
예제 #14
0
    def test_cancel_01_shot(self):
        """拍摄-拍摄页放弃."""
        sc.logger.info('拍摄-拍摄页放弃')
        fun_name = 'test_cancel_shot'

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

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

        sc.logger.info('切换拍摄模式:自拍美颜->高清相机')
        el_normal = "高清相机"
        ba.find_element_click('name', 5, el_normal)
        sc.capture_screen(fun_name, self.img_path)

        # 点拍
        sc.logger.info('开始录制')
        el_capture = WebDriverWait(sc.driver, 10).until(
            lambda x: x.find_element_by_xpath(iOS_elements.el_cp_normal))
        el_capture.click()
        sc.capture_screen(fun_name, self.img_path)
        time.sleep(5)

        sc.logger.info('录制5s后点击录制按钮停止录制')
        el_capture.click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击左上角取消按钮')
        ba.find_element_click('name', 5, iOS_elements.el_cam_close)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“丢弃”按钮')
        ba.find_element_click('name', 5, iOS_elements.el_discard)
        sc.logger.info('拍摄-拍摄页放弃测试完成')
예제 #15
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('素材中心-动画贴纸测试完成')
예제 #16
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('素材中心-主题测试完成')
예제 #17
0
    def test_normal_01_filter(self):
        """拍摄-滤镜下载."""
        sc.logger.info('拍摄-滤镜下载')
        fun_name = 'test_normal_filter_download'

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

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

        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('点击滤镜图标')
        time.sleep(1)
        try:
            WebDriverWait(sc.driver, 5,
                          1).until(lambda x: x.find_element_by_name(
                              iOS_elements.el_filter_icon)).click()
        except TimeoutException:
            sc.logger.info('滤镜列表已自动弹出')
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('下载滤镜')
        try:
            sc.logger.info('点击下载按钮')
            sc.driver.find_element_by_xpath(
                iOS_elements.el_filter_download).click()
            sc.capture_screen(fun_name, self.img_path)
            try:
                sc.driver.find_element_by_name('取消').click()
            except NoSuchElementException:
                sc.logger.info('该滤镜不是解锁滤镜')
        except NoSuchElementException:
            sc.logger.info('当前页面已无未下载滤镜')

        sc.logger.info('下载更多')
        try:
            time.sleep(0.5)
            sc.driver.find_element_by_name(iOS_elements.el_filter_more).click()
            sc.capture_screen(fun_name, self.img_path)
        except NoSuchElementException:
            sc.logger.info('当前页面是vip订阅页面')
            sc.driver.find_element_by_name(iOS_elements.el_vip_close).click()
            sc.capture_screen(fun_name, self.img_path)

            sc.logger.info('重新点击下载更多')
            sc.driver.find_element_by_name(iOS_elements.el_filter_more).click()
            sc.capture_screen(fun_name, self.img_path)

        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()

        sc.logger.info('退出拍摄')
        ba.find_element_click('name', 5, iOS_elements.el_cam_close)
        sc.logger.info('拍摄-滤镜下载测试完成')
예제 #18
0
    def test_preview_theme(self):
        """预览页-主题·配乐页面."""
        sc.logger.info('预览页-主题·配乐页面')
        fun_name = 'test_preview_theme'

        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()

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

        sc.logger.info('切换到图片')
        sc.driver.find_element_by_name("视频").click()
        sc.driver.find_element_by_name("图片").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.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, 10, 1).until(
            lambda x: x.find_element_by_name(iOS_elements.btn_stop)).click()

        sc.logger.info('使用“主题”')
        try:
            WebDriverWait(sc.driver, 3,
                          1).until(lambda x: x.find_element_by_xpath(
                              iOS_elements.el_theme_use)).click()
        except TimeoutException:
            sc.logger.info('当前页面无已下载的主题')
            WebDriverWait(sc.driver, 10,
                          1).until(lambda x: x.find_element_by_xpath(
                              iOS_elements.el_theme_download)).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('下拉刷新')
        ba.refresh('down', 0.3, 500, 1)
        time.sleep(3)

        sc.logger.info('下载并使用主题')
        try:
            WebDriverWait(
                sc.driver, 5,
                1).until(lambda x: x.find_element_by_name("使用")).click()
        except TimeoutException:
            WebDriverWait(sc.driver, 5,
                          1).until(lambda x: x.find_element_by_name(
                              iOS_elements.el_store_download1)).click()

            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('暂停播放')
        WebDriverWait(sc.driver, 10, 1).until(
            lambda x: x.find_element_by_name(iOS_elements.btn_stop)).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('预览页-主题·配乐测试完成')
예제 #19
0
    def test_normal_02_settings(self):
        """拍摄-设置相关."""
        sc.logger.info('拍摄-设置相关')
        fun_name = 'test_camera_normal_settings'

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

        sc.logger.info('切换拍摄模式:自拍美颜->高清相机')
        el_normal = "高清相机"
        ba.find_element_click('name', 5, el_normal)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击设置按钮')
        time.sleep(1)
        sc.driver.find_element_by_name(iOS_elements.el_cam_setting).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('闪光灯-开')
        try:
            ba.find_element_click('name', 5, iOS_elements.el_cam_flash)
            sc.capture_screen(fun_name, self.img_path)
        except TimeoutException:
            sc.logger.info('当前为前置拍摄,无闪光灯选项')

        sc.logger.info('网格显示')
        ba.find_element_click('name', 5, iOS_elements.el_cam_grid)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('倒计时')
        for i in range(4):
            ba.find_element_click('name', 5, iOS_elements.el_cam_time)
            sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('退出设置选项')
        ba.find_element_click('name', 5, iOS_elements.el_cam_setting)

        sc.logger.info('前后置切换')
        ba.find_element_click('name', 5, iOS_elements.el_cam_switch)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('视频尺寸,全屏切换到3:4')
        ba.find_element_click('name', 5, iOS_elements.el_ful)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('视频尺寸,3:4切换到1:1')
        ba.find_element_click('name', 5, iOS_elements.el_fou)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('视频尺寸,1:1切换到全屏')
        ba.find_element_click('name', 5, iOS_elements.el_one)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('切换拍摄模式:高清相机->自拍美颜')
        el_self = "自拍美颜"
        el_normal = "高清相机"
        el_music = "音乐视频"
        ba.find_element_click('name', 5, el_self)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('切换拍摄模式:自拍美颜->高清相机')
        ba.find_element_click('name', 5, el_normal)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('切换拍摄模式:高清相机->音乐视频')
        ba.find_element_click('name', 5, el_music)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('退出拍摄')
        ba.find_element_click('name', 5, iOS_elements.el_cam_close)
        sc.logger.info('拍摄-设置相关测试完成')