예제 #1
0
    def test_settings_02_feedback(self):
        """设置:意见反馈."""
        sc.logger.info('设置:意见反馈')
        fun_name = 'test_settings_feedback'
        start_x = self.width // 2
        start_y = self.height // 8
        start_bottom = self.height - start_y

        sc.logger.info('向上滑动')
        for i in range(2):
            sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.7, 300)

        sc.logger.info("意见反馈")
        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.feedback()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info("返回设置页")
        sc.driver.find_element_by_name(iOS_elements.el_com_back).click()
        sc.logger.info('意见反馈测试完成')
예제 #2
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('下载音乐')
        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('音乐库-推荐音乐下载测试完成')
예제 #3
0
파일: base.py 프로젝트: loveiset/UItest
def home_first_click(el_fun):
    '''
    从创作页面进入各个入口.
    :param fun: 打开的入口
    :param el: 点击的控件
    :return:
    '''
    """
    视频剪辑/高清拍摄/次要功能位置相关/更多草稿等
    """
    sc.logger.info('点击创作中心主按钮')
    home_enter()

    sc.logger.info('点击 %s', el_fun)
    try:
        WebDriverWait(
            sc.driver, 5,
            1).until(lambda x: x.find_element_by_name(el_fun)).click()
    except TimeoutException:
        sc.logger.info('向左滑动')
        el_template = sc.driver.find_element_by_name('素材中心')
        coord_x = el_template.location.get('x')
        coord_y = el_template.location.get('y')
        sc.swipe_by_ratio(coord_x, coord_y, 'left', 0.6, 500)  # 从素材中心向左滑动

        WebDriverWait(
            sc.driver, 5,
            1).until(lambda x: x.find_element_by_name(el_fun)).click()
예제 #4
0
    def test_preview_04_other(self):
        """音乐库-其他分类音乐下载."""
        sc.logger.info('音乐库-其他分类音乐下载')
        fun_name = 'test_preview_other'

        sc.logger.info('通过滑动屏幕切换到"流行"分类')
        start_x = self.width - self.width // 5
        start_bottom = self.height // 2
        sc.swipe_by_ratio(start_x, start_bottom, 'left', 0.7, 500)

        sc.logger.info('下载"流行"分类音频')
        time.sleep(1)
        el_download = sc.driver.find_element_by_name(
            'vivavideo material download3 n')
        el_download.click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('通过点击分类tab切换到"爵士 & 蓝调"分类')
        sc.driver.find_element_by_name("爵士 & 蓝调").click()

        sc.logger.info('下载"爵士 & 蓝调"分类音频')
        time.sleep(1)
        el_download = sc.driver.find_element_by_name(
            'vivavideo material download3 n')
        el_download.click()
        sc.capture_screen(fun_name, self.img_path)
예제 #5
0
    def test_template_01_theme(self):
        """素材中心-主题."""
        sc.logger.info('进入素材中心-主题')
        fun_name = 'test_template_theme'

        start_x = self.width - self.width // 5
        start_bottom = self.height // 2

        time.sleep(5)
        sc.logger.info('点击创作中心主按钮')
        try:
            sc.driver.find_element_by_xpath(
                "//XCUIElementTypeImage[@name='camerta_n']").click()
        except NoSuchElementException:
            sc.driver.find_element_by_xpath(
                "//XCUIElementTypeImage[@name='camerta_f']").click()

        sc.logger.info('点击"素材中心"')
        try:
            sc.driver.find_element_by_name("素材中心").click()
            sc.capture_screen(fun_name, self.img_path)
        except NoSuchElementException:
            sc.logger.info('"素材中心"在第二页,需要向左滑动')
            sc.swipe_by_ratio(start_x, start_bottom, 'left', 0.6, 500)
            sc.driver.find_element_by_name("素材中心").click()
            sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“主题”')
        time.sleep(0.5)
        sc.driver.find_element_by_name("主题").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('下载“主题”')
        btn_download = 'vivavideo material download n'
        self.template_download('主题', btn_download)

        sc.logger.info('使用“主题”')
        self.template_use('主题')
        time.sleep(2)

        sc.logger.info('点击“存草稿”按钮')
        sc.driver.find_element_by_name("存草稿").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击左上角返回按钮退回创作中心')
        time.sleep(1)
        sc.driver.find_element_by_name("vivavideo com nav back n").click()

        sc.logger.info('点击"素材中心"')
        sc.driver.find_element_by_name("素材中心").click()

        sc.logger.info('点击"主题"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("主题").click()

        sc.logger.info('删除下载的主题')
        btn_del = 'vivavideo material delete n'
        self.theme_manager('主题', btn_del)
예제 #6
0
    def test_edit_sound_03_del(self):
        """剪辑-配音-删除."""
        sc.logger.info('剪辑-配音-删除')
        fun_name = 'test_edit_sound_del'

        time.sleep(1)
        sc.logger.info('点击首页第一个草稿封面')
        el_draft = sc.driver.find_element_by_xpath(
            "//*/XCUIElementTypeOther[2]/*/XCUIElementTypeButton")
        el_draft.click()

        sc.logger.info('点击"剪辑"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("剪辑").click()

        sc.logger.info('向左滑动')
        start_x = self.width - self.width // 10
        start_bottom = self.height - self.height // 5
        sc.swipe_by_ratio(start_x, start_bottom, 'left', 0.8, 800)

        sc.logger.info('点击"配音"')
        try:
            sc.driver.find_element_by_name("配音").click()
        except NoSuchElementException:
            sc.logger.info('未找到"配音"按钮,再向左滑动')
            sc.swipe_by_ratio(start_x, start_bottom, 'left', 0.8, 800)
            sc.driver.find_element_by_name("配音").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击"播放"按钮')
        sc.driver.find_element_by_name(
            "vivavideo editor framebar play").click()

        sc.logger.info('点击"编辑"按钮')
        try:
            WebDriverWait(
                sc.driver,
                20).until(lambda el_edit: el_edit.find_element_by_name(
                    "vivavideo tool fx edit n"))
            sc.logger.info('点击左侧"暂停"按钮')
            sc.driver.find_element_by_name(
                "vivavideo editor framebar paus").click()

            sc.driver.find_element_by_name("vivavideo tool fx edit n").click()
            sc.capture_screen(fun_name, self.img_path)
            sc.logger.info('点击删除按钮')
            sc.driver.find_element_by_name(
                "vivavideo tool subtitle delete").click()
            sc.capture_screen(fun_name, self.img_path)

            sc.logger.info('点击右上角确认按钮')
            sc.driver.find_element_by_name("xiaoying com ok").click()
        except NoSuchElementException:
            sc.logger.error('未找到编辑按钮,请重试')
            return False
예제 #7
0
    def test_template_06_sticker(self):
        """素材中心-动画贴纸."""
        sc.logger.info('素材中心-动画贴纸')
        fun_name = 'test_template_sticker'

        time.sleep(1)
        sc.logger.info('点击"素材中心"')
        sc.driver.find_element_by_name("素材中心").click()

        sc.logger.info('向上滑动')
        start_x = self.width // 2
        start_bottom = self.height - self.height // 5
        sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.6, 500)

        sc.logger.info('点击"动画贴纸"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("动画贴纸").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('下载“动画贴纸”')
        btn_download = 'vivavideo material download n'
        self.template_download('动画贴纸', btn_download)

        sc.logger.info('使用“动画贴纸”')
        self.template_use('动画贴纸')
        time.sleep(2)

        sc.logger.info('确认使用该下载的贴纸')
        sc.driver.find_element_by_name("xiaoying com ok").click()
        time.sleep(0.5)
        sc.driver.find_element_by_name("xiaoying com ok").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“存草稿”按钮')
        time.sleep(1)
        sc.driver.find_element_by_name("存草稿").click()

        sc.logger.info('点击左上角返回按钮退回创作中心')
        time.sleep(1)
        sc.driver.find_element_by_name("vivavideo com nav back n").click()

        sc.logger.info('点击"素材中心"')
        sc.driver.find_element_by_name("素材中心").click()

        sc.logger.info('向上滑动')
        sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.6, 500)

        sc.logger.info('点击"动画贴纸"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("动画贴纸").click()

        sc.logger.info('删除下载的贴纸')
        btn_del = 'vivavideo material delete n'
        self.theme_manager('动画贴纸', btn_del)
예제 #8
0
파일: base.py 프로젝트: loveiset/UItest
def swipe_left(el_loc, ratio, duration):
    '''
    以某个元素作为标准点,左滑动
    :param el_loc: 某标准点元素
    :param ratio: 滑动距离与屏幕的比例,范围0到1
    :param duration: 滑动时间,单位ms
    :return:
    '''
    sc.logger.info('向左滑动')
    coord_x = el_loc.location.get('x')
    coord_y = el_loc.location.get('y')
    sc.swipe_by_ratio(coord_x, coord_y, 'left', ratio, duration)  # 从素材中心向左滑动
예제 #9
0
파일: base.py 프로젝트: loveiset/UItest
def home_enter():
    sc.logger.info('点击创作中心主按钮')
    try:
        WebDriverWait(sc.driver, 5,
                      1).until(lambda x: x.find_element_by_accessibility_id(
                          iOS_elements.el_home_create)).click()
    except TimeoutException:
        sc.logger.info('当前已经是在创作页面')

    sc.logger.info('下拉刷新')
    start_x = width // 2
    start_bottom = height // 2
    sc.swipe_by_ratio(start_x, start_bottom, 'down', 0.3, 300)
예제 #10
0
    def test_settings_04_other(self):
        """设置-其他设置"""
        fun_name = 'test_settings_other'

        sc.logger.info("其他设置")
        start_x = self.width // 2
        start_bottom = self.height - self.height // 10
        sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.8, 500)

        sc.logger.info('关于小影')
        sc.driver.find_element_by_name("关于小影").click()
        sc.driver.find_element_by_name(
            "vivavideo aboutxiaoying back n").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('赏个好评')
        sc.driver.find_element_by_name("赏个好评,支持我们").click()
        time.sleep(2)
        sc.capture_screen(fun_name, self.img_path)
        try:
            sc.driver.find_element_by_name("以后").click()
        except NoSuchElementException:
            sc.logger.info("非正式版本,无法跳转苹果商店")

        sc.logger.info('成为VIP会员')
        sc.driver.find_element_by_name("成为VIP会员").click()
        sc.capture_screen(fun_name, self.img_path)
        sc.driver.find_element_by_name("icon close n").click()

        sc.logger.info('恢复购买')
        sc.driver.find_element_by_name("恢复购买").click()
        sc.capture_screen(fun_name, self.img_path)
        sc.driver.find_element_by_name("取消").click()

        # sc.logger.info('推荐小影给好友')
        # sc.driver.find_element_by_name("推荐小影给好友").click()
        # sc.capture_screen(fun_name, self.img_path)
        # sc.driver.find_element_by_xpath("//XCUIElementTypeButton[@name='xiaoying sns icon small qq nor']").click()
        # time.sleep(2)
        # sc.driver.find_element_by_name("我的电脑").click()
        # sc.driver.find_element_by_name("发送").click()
        # time.sleep(2)
        # sc.driver.find_element_by_name("返回小影").click()

        sc.logger.info('清除缓存')
        sc.driver.find_element_by_name("清除缓存").click()
        sc.driver.find_element_by_name("清除缓存").click()

        sc.logger.info('退出设置页面')
        sc.driver.find_element_by_name("vivavideo com nav back n").click()
예제 #11
0
파일: base.py 프로젝트: loveiset/UItest
def clip_mult_select():
    '''多选-删除'''
    sc.logger.info('工具栏左滑一些')
    el_t = sc.driver.find_element_by_name("转场")
    coord_x = el_t.location.get('x')
    coord_y = el_t.location.get('y')
    sc.swipe_by_ratio(coord_x, coord_y, 'left', 0.7, 600)

    sc.logger.info('删除镜头')
    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()
예제 #12
0
    def test_edit_sound_01_add(self):
        """剪辑-配音-添加."""
        sc.logger.info('剪辑-配音-添加')
        fun_name = 'test_edit_sound_add'

        time.sleep(5)
        sc.logger.info('点击创作中心主按钮')
        try:
            sc.driver.find_element_by_xpath(
                "//XCUIElementTypeImage[@name='camerta_n']").click()
        except NoSuchElementException:
            sc.driver.find_element_by_xpath(
                "//XCUIElementTypeImage[@name='camerta_f']").click()

        sc.logger.info('点击首页第一个草稿封面')
        el_draft = sc.driver.find_element_by_xpath(
            "//*/XCUIElementTypeOther[2]/*/XCUIElementTypeButton")
        el_draft.click()

        sc.logger.info('点击"剪辑"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("剪辑").click()

        sc.logger.info('向左滑动')
        start_x = self.width - self.width // 10
        start_bottom = self.height - self.height // 5
        sc.swipe_by_ratio(start_x, start_bottom, 'left', 0.8, 800)

        sc.logger.info('点击"配音"')
        try:
            sc.driver.find_element_by_name("配音").click()
        except NoSuchElementException:
            sc.logger.info('未找到"配音"按钮,再向左滑动')
            sc.swipe_by_ratio(start_x, start_bottom, 'left', 0.8, 800)
            sc.driver.find_element_by_name("配音").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击右侧预置"配音"图标')
        sc.driver.find_element_by_name("vivavideo tool sound list n").click()

        sc.logger.info('选择一个"音频"试听')
        el_sound_name = sc.driver.find_element_by_xpath(
            "//*/XCUIElementTypeTable/*/XCUIElementTypeButton[2]")
        el_sound_name.click()

        sc.logger.info('添加')
        sc.driver.find_element_by_name("添加").click()
예제 #13
0
    def test_edit_sort(self):
        """剪辑-排序."""
        sc.logger.info('剪辑-排序')
        fun_name = 'test_edit_sort'

        time.sleep(1)
        sc.logger.info('点击首页第一个草稿封面')
        el_draft = sc.driver.find_element_by_xpath(
            "//*/XCUIElementTypeOther[2]/*/XCUIElementTypeButton")
        el_draft.click()

        sc.logger.info('点击"剪辑"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("剪辑").click()

        sc.logger.info('向左滑动')
        time.sleep(1)
        start_x = self.width - self.width // 10
        start_bottom = self.height - self.height // 5
        for i in range(3):
            sc.swipe_by_ratio(start_x, start_bottom, 'left', 0.8, 800)

        sc.logger.info('点击"排序"')
        sc.driver.find_element_by_name("排序").click()
        sc.capture_screen(fun_name, self.img_path)

        # #长按拖动还需要再调试
        # sc.logger.info('把特效和动画贴纸位置互换')
        # try:
        #     el_fx = sc.driver.find_element_by_name("特效")
        #     el_sticker = sc.driver.find_element_by_name("动画贴纸")
        #     actions = TouchAction(sc.driver)
        #     actions.long_press(el_fx,1000).move_to(el_sticker).release().perform()
        #     sc.capture_screen(fun_name, self.img_path)
        # except Exception as e:
        #     sc.logger.error("排序失败",e)
        #     return False

        sc.logger.info('点击"完成"保存设置')
        sc.driver.find_element_by_name("完成").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('存草稿并返回创作页首页')
        sc.driver.find_element_by_name("存草稿").click()
        time.sleep(1)
        sc.driver.find_element_by_name("vivavideo com nav back n").click()
예제 #14
0
    def test_edit_sticker_cancel(self):
        """剪辑-动画贴纸-放弃."""
        sc.logger.info('剪辑-动画贴纸-放弃')
        fun_name = 'test_edit_sticker_cancel'

        time.sleep(1)
        sc.logger.info('点击首页第一个草稿封面')
        el_draft = sc.driver.find_element_by_xpath(
            "//*/XCUIElementTypeOther[2]/*/XCUIElementTypeButton")
        el_draft.click()

        sc.logger.info('点击"剪辑"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("剪辑").click()

        sc.logger.info('向左滑动')
        el_collage = sc.driver.find_element_by_name("画中画")
        coord_x = el_collage.location.get('x')
        coord_y = el_collage.location.get('y')
        sc.swipe_by_ratio(coord_x, coord_y, 'left', 0.6, 800)  # 从转场向左滑动

        sc.logger.info('点击"动画贴纸"')
        sc.driver.find_element_by_name("动画贴纸").click()

        sc.logger.info('点击"添加"按钮')
        sc.driver.find_element_by_name("vivavideo tool sticker add n").click()

        sc.logger.info('点击右上角保存')
        sc.driver.find_element_by_name("xiaoying com ok").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('放弃编辑')
        sc.driver.find_element_by_name("xiaoying com cancel").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('点击“存草稿”按钮')
        time.sleep(3)
        sc.driver.find_element_by_name("存草稿").click()

        sc.logger.info('返回创作中心主界面')
        time.sleep(1)
        sc.driver.find_element_by_name("vivavideo com nav back n").click()
예제 #15
0
    def test_edit_add_01_clips(self):
        """剪辑-添加镜头-相册添加."""
        sc.logger.info('剪辑-添加镜头-相册添加')
        fun_name = 'test_edit_add_clips'

        time.sleep(5)
        sc.logger.info('点击首页第一个草稿封面')
        el_draft = sc.driver.find_element_by_xpath(
            "//*/XCUIElementTypeOther[2]/*/XCUIElementTypeButton")
        el_draft.click()

        sc.logger.info('点击"剪辑"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("剪辑").click()

        sc.logger.info('向左滑动')
        start_x = self.width - self.width // 10
        start_bottom = self.height - self.height // 5
        sc.swipe_by_ratio(start_x, start_bottom, 'left', 0.8, 800)

        sc.logger.info('点击"添加镜头"')
        el_sound = sc.driver.find_element_by_name('配音')
        coord_x = el_sound.location.get('x')
        coord_y = el_sound.location.get('y')
        sc.swipe_by_ratio(coord_x, coord_y, 'left', 0.8, 800)
        sc.driver.find_element_by_name("添加镜头").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('添加视频')
        el_video = sc.driver.find_element_by_accessibility_id(
            "vivavideo_tool_gallery_audio_type_video")
        el_video.click()
        sc.driver.find_element_by_name("添加 0").click()

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

        sc.logger.info('添加图片')
        el_img = sc.driver.find_element_by_xpath("//*/XCUIElementTypeImage")
        el_img.click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击"下一步"')
        sc.driver.find_element_by_name("下一步").click()
예제 #16
0
파일: test_home.py 프로젝트: hicheng/UItest
    def test_home_01_top(self):
        """首页-VIP&广告"""
        fun_name = 'test_home_top'

        time.sleep(5)
        sc.logger.info('点击创作中心主按钮')
        try:
            sc.driver.find_element_by_accessibility_id("camerta_n").click()
        except NoSuchElementException:
            sc.driver.find_element_by_accessibility_id("camerta_f").click()

        sc.logger.info('下拉刷新')
        start_x = self.width // 2
        start_bottom = self.height // 8
        sc.swipe_by_ratio(start_x, start_bottom, 'down', 0.5, 500)

        sc.logger.info('VIP订阅页面展示')
        sc.driver.find_element_by_xpath(
            "//*/XCUIElementTypeOther/XCUIElementTypeButton[1]").click()
        sc.capture_screen(fun_name, self.img_path)
        sc.driver.find_element_by_xpath(
            "//XCUIElementTypeButton[@name='icon close n']").click()

        sc.logger.info('首页广告展示及刷新')
        sc.driver.find_element_by_xpath(
            "//*/XCUIElementTypeOther/XCUIElementTypeButton[2]").click()
        try:
            WebDriverWait(
                sc.driver,
                15).until(lambda AD_refresh: AD_refresh.find_element_by_name(
                    "xiaoying shuffle change AD btn"))
            sc.capture_screen(fun_name, self.img_path)
            sc.driver.find_element_by_name(
                "xiaoying shuffle change AD btn").click()
        except TimeoutError as t:
            sc.logger.error('广告加载超时', t)
            return False

        sc.logger.info('关闭广告')
        sc.driver.find_element_by_name("xiaoying shuffle ad close btn").click()
예제 #17
0
    def test_fans_list(self):
        """粉丝页面上下滑动测试."""
        sc.logger.info('用户空间作品页面上下滑动测试开始')
        fun_name = 'test_fans_list'
        start_x = self.width // 2
        start_y = self.height // 4
        start_bottom = self.height - start_y

        time.sleep(1)
        # 先上滑
        sc.logger.info('上滑截图开始')
        result_up = sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.7, 300)
        time.sleep(1)
        sc.capture_screen(fun_name, self.img_path)

        # 再下滑,同理
        sc.logger.info('下滑截图开始')
        result_down = sc.swipe_by_ratio(start_x, start_y, 'down', 0.3, 300)
        time.sleep(1)
        sc.capture_screen(fun_name, self.img_path)

        assert result_up and result_down is True
예제 #18
0
    def test_preview_download(self):
        """预览页-下载主题."""
        sc.logger.info('预览页-下载主题')
        fun_name = 'test_preview_download'

        time.sleep(5)
        sc.logger.info('点击创作中心主按钮')
        try:
            sc.driver.find_element_by_xpath("//XCUIElementTypeImage[@name='camerta_n']").click()
        except NoSuchElementException:
            sc.driver.find_element_by_xpath("//XCUIElementTypeImage[@name='camerta_f']").click()

        sc.logger.info('进入我的工作室')
        sc.driver.find_element_by_name("更多草稿").click()
        time.sleep(1)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('打开草稿工程')
        el_draft = sc.driver.find_element_by_xpath("//*/XCUIElementTypeImage[1]")
        el_draft.click()

        time.sleep(1)
        sc.logger.info('点击“主题”按钮')
        sc.driver.find_element_by_name("vivavideo tool preview filter ").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('下载“主题”')
        el_theme_download = sc.driver.find_element_by_accessibility_id("vivavideo_tool_preview_download_n")
        try:
            el_theme_download.click()
            sc.capture_screen(fun_name,self.img_path)
        except NoSuchElementException:
            sc.logger.info('当前页面主题已全部下载,需要向左滑动到下一页')
            start_x = self.width - self.width // 10
            start_bottom = self.height - self.height // 5
            sc.swipe_by_ratio(start_x, start_bottom, 'left', 0.8, 500)
            el_theme_download.click()
            sc.capture_screen(fun_name, self.img_path)
예제 #19
0
    def test_template_08_transition(self):
        """素材中心-转场."""
        sc.logger.info('素材中心-转场')
        fun_name = 'test_template_transition'

        time.sleep(1)
        sc.logger.info('点击"素材中心"')
        sc.driver.find_element_by_name("素材中心").click()

        sc.logger.info('向上滑动')
        start_x = self.width // 2
        start_bottom = self.height - self.height // 5
        sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.6, 500)

        sc.logger.info('点击"转场"')
        time.sleep(0.5)
        try:
            sc.driver.find_element_by_name("转场").click()
        except NoSuchElementException:
            sc.logger.info('仍需要上滑显示转场分类')
            sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.6, 500)
            sc.driver.find_element_by_name("转场").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('下载“转场”')
        btn_download = 'vivavideo material download n'
        self.template_download('转场', btn_download)

        sc.logger.info('使用“转场”')
        self.template_use('转场')
        time.sleep(2)

        sc.logger.info('确认使用该下载的转场')
        sc.driver.find_element_by_name("xiaoying com ok").click()
        time.sleep(0.5)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“存草稿”按钮')
        time.sleep(1)
        sc.driver.find_element_by_name("存草稿").click()

        sc.logger.info('点击左上角返回按钮退回创作中心')
        time.sleep(1)
        sc.driver.find_element_by_name("vivavideo com nav back n").click()

        sc.logger.info('点击"素材中心"')
        sc.driver.find_element_by_name("素材中心").click()

        sc.logger.info('向上滑动')
        sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.6, 500)

        sc.logger.info('点击"转场"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("转场").click()

        sc.logger.info('删除下载的转场')
        btn_del = 'vivavideo material delete n'
        self.theme_manager('转场', btn_del)
예제 #20
0
파일: base.py 프로젝트: loveiset/UItest
def refresh(direct, ratio, duration, times=1):
    '''
    刷新
    :param direct: 滑动方向,只支持'up'、'down'两种方向参数
    :param ratio: 滑动距离与屏幕的比例,范围0到1
    :param duration:滑动时间,单位ms
    :param times: 滑动次数,默认1次
    :return:
    '''
    start_x = width // 2
    start_y = height // 8
    start_bottom = height - start_y

    if direct == 'down':
        for i in range(times):
            sc.logger.info('第 %d 次下拉刷新', i)
            sc.swipe_by_ratio(start_x, start_y, 'down', ratio, duration)
            time.sleep(.300)
    elif direct == 'up':
        for i in range(times):
            sc.logger.info('第 %d 次上滑动', i)
            sc.swipe_by_ratio(start_x, start_bottom, 'up', ratio, duration)
            time.sleep(.300)
예제 #21
0
    def test_preview_03_recommend(self):
        """音乐库-推荐音乐下载."""
        sc.logger.info('音乐库-推荐音乐下载')
        fun_name = 'test_preview_recommend'

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

        sc.logger.info('点击“推荐”tab')
        sc.driver.find_element_by_name("推荐").click()

        sc.logger.info('向上滑动“推荐”音频列表')
        start_x = self.width // 2
        start_bottom = self.height - self.height // 4
        sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.5, 500)

        sc.logger.info('同时下载多个音频')
        el_download = sc.driver.find_elements_by_name(
            'vivavideo material download3 n')
        for i in range(len(el_download)):
            el_download[i].click()
        sc.capture_screen(fun_name, self.img_path)
예제 #22
0
    def test_preview_more(self):
        """预览页-下载更多."""
        sc.logger.info('预览页-下载更多')
        fun_name = 'test_more_download'

        sc.logger.info('点击“下载更多”按钮')
        el_more = sc.driver.find_element_by_xpath(
            "//XCUIElementTypeImage[@name='vivavideo_tool_camera_store_n']")
        try:
            el_more.click()
            time.sleep(2)
            sc.capture_screen(fun_name, self.img_path)
        except NoSuchElementException:
            sc.logger.info('当前页面主题已全部下载,需要向右滑动切换到第一页')
            start_x = self.width // 10
            start_bottom = self.height - self.height // 5
            sc.swipe_by_ratio(start_x, start_bottom, 'right', 0.8, 500)
            el_more.click()
            time.sleep(2)
            sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“下载”按钮')
        el_theme_download = sc.driver.find_element_by_name("vivavideo material download n")
        el_theme_download.click()
        time.sleep(5)
        sc.capture_screen(fun_name,self.img_path)

        sc.logger.info('点击“左上角”按钮返回预览页')
        sc.driver.find_element_by_name("vivavideo com nav back n").click()

        sc.logger.info('点击“存草稿”按钮')
        sc.driver.find_element_by_name("存草稿").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('返回创作中心主界面')
        time.sleep(1)
        sc.driver.find_element_by_name("vivavideo com nav back n").click()
예제 #23
0
파일: test_fx.py 프로젝트: hicheng/UItest
    def test_edit_fx_02_del(self):
        """剪辑-特效-删除."""
        sc.logger.info('剪辑-特效-删除')
        fun_name = 'test_edit_fx_del'

        time.sleep(5)
        sc.logger.info('点击首页第一个草稿封面')
        el_draft = sc.driver.find_element_by_xpath("//*/XCUIElementTypeOther[2]/*/XCUIElementTypeButton")
        el_draft.click()

        sc.logger.info('点击"剪辑"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("剪辑").click()

        sc.logger.info('向左滑动')
        start_x = self.width - self.width // 10
        start_bottom = self.height - self.height // 5
        sc.swipe_by_ratio(start_x, start_bottom, 'left', 0.8, 800)

        sc.logger.info('点击"特效"')
        el_sound = sc.driver.find_element_by_name('配音')
        coord_x = el_sound.location.get('x')
        coord_y = el_sound.location.get('y')
        sc.swipe_by_ratio(coord_x, coord_y, 'left', 0.8, 800)
        sc.driver.find_element_by_name("特效").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('向左滑动到添加fx片段位置')
        fx_edit_x = self.width - self.width // 4
        fx_edit_y = self.height - self.height // 4
        sc.swipe_by_ratio(fx_edit_x, fx_edit_y, 'left', 0.1, 500)

        sc.logger.info('点击编辑按钮')
        sc.driver.find_element_by_name("vivavideo tool fx edit n").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击删除按钮')
        sc.driver.find_element_by_name("vivavideo tool subtitle delete").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击右上角确认按钮')
        sc.driver.find_element_by_name("xiaoying com ok").click()
예제 #24
0
    def test_edit_transition(self):
        """剪辑-转场."""
        sc.logger.info('剪辑-转场')
        fun_name = 'test_edit_transition'

        time.sleep(5)
        sc.logger.info('点击首页第一个草稿封面')
        el_draft = sc.driver.find_element_by_xpath(
            "//*/XCUIElementTypeOther[2]/*/XCUIElementTypeButton")
        el_draft.click()

        sc.logger.info('点击"剪辑"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("剪辑").click()

        sc.logger.info('向左滑动')
        start_x = self.width - self.width // 10
        start_bottom = self.height - self.height // 5
        sc.swipe_by_ratio(start_x, start_bottom, 'left', 0.8, 800)

        sc.logger.info('点击"转场"')
        sc.driver.find_element_by_name("转场").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('选择一个"转场"')
        el_tran = sc.driver.find_element_by_xpath(
            "//*/XCUIElementTypeCollectionView/XCUIElementTypeCell[3]/XCUIElementTypeOther/XCUIElementTypeImage"
        )
        el_tran.click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('切回"无转场"')
        time.sleep(0.5)
        el_empty = sc.driver.find_element_by_accessibility_id(
            "XiaoYingResource.bundle/vivavideo_tool_camera_none_n")
        el_empty.click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“下载更多”按钮')
        time.sleep(0.5)
        el_more = sc.driver.find_element_by_accessibility_id(
            "XiaoYingResource.bundle/vivavideo_tool_camera_store_n")
        el_more.click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“左上角”返回预览页')
        time.sleep(0.5)
        sc.driver.find_element_by_name("vivavideo com nav back n").click()

        sc.logger.info('点击“多选”')
        sc.driver.find_element_by_name("多选").click()

        sc.logger.info('点击“全选”')
        sc.driver.find_element_by_name("全选").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“随机”')
        sc.driver.find_element_by_name("随机").click()

        sc.logger.info('点击“确认”')
        sc.driver.find_element_by_name("确认").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“右上角”保存')
        sc.driver.find_element_by_name("xiaoying com ok").click()

        # sc.logger.info('再次点击"转场"')
        # sc.driver.find_element_by_name("转场").click()

        # sc.logger.info('切回"无转场"')
        # el_empty = sc.driver.find_element_by_accessibility_id(
        #     "XiaoYingResource.bundle/vivavideo_tool_camera_none_n")
        # el_empty.click()
        # sc.capture_screen(fun_name, self.img_path)
        #
        # sc.logger.info('点击“左上角X”取消')
        # sc.driver.find_element_by_name("xiaoying com cancel").click()
        # sc.capture_screen(fun_name, self.img_path)
        #
        # sc.logger.info('确认取消')
        # sc.driver.find_element_by_name("确认").click()
        # time.sleep(3)

        sc.logger.info('存草稿并返回创作页首页')
        sc.driver.find_element_by_name("存草稿").click()
        time.sleep(1)
        sc.driver.find_element_by_name("vivavideo com nav back n").click()
예제 #25
0
    def test_template_07_giphy(self):
        """GIPHY-下载."""
        sc.logger.info('素材中心-GIPHY')
        fun_name = 'test_template_giphy'

        time.sleep(1)
        sc.logger.info('点击"素材中心"')
        sc.driver.find_element_by_name("素材中心").click()

        sc.logger.info('向上滑动')
        start_x = self.width // 2
        start_bottom = self.height - self.height // 5
        sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.6, 500)

        sc.logger.info('点击"动画贴纸"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("动画贴纸").click()

        sc.logger.info('切换到"GIF"分类')
        sc.driver.find_element_by_name("GIF").click()
        time.sleep(3)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('下载“GIF贴纸”')
        btn_download = '下载'
        self.template_download('GIF贴纸', btn_download)

        sc.logger.info('使用“GIF贴纸”')
        self.template_use('GIF贴纸')
        time.sleep(2)

        sc.logger.info('确认使用该下载的GIF贴纸')
        sc.driver.find_element_by_name("xiaoying com ok").click()
        time.sleep(0.5)
        sc.driver.find_element_by_name("xiaoying com ok").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“存草稿”按钮')
        time.sleep(1)
        sc.driver.find_element_by_name("存草稿").click()

        sc.logger.info('点击左上角返回按钮退回创作中心')
        time.sleep(1)
        sc.driver.find_element_by_name("vivavideo com nav back n").click()

        sc.logger.info('点击"素材中心"')
        sc.driver.find_element_by_name("素材中心").click()

        sc.logger.info('向上滑动')
        sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.6, 500)

        sc.logger.info('点击"动画贴纸"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("动画贴纸").click()

        sc.logger.info('切换到"GIF"分类')
        sc.driver.find_element_by_name("GIF").click()
        time.sleep(3)

        sc.logger.info('删除下载的GIF贴纸')
        btn_del = '删除'
        self.theme_manager('GIF贴纸', btn_del)
예제 #26
0
    def test_template_05_text(self):
        """素材中心-字幕."""
        sc.logger.info('素材中心-字幕')
        fun_name = 'test_template_text'

        time.sleep(1)
        sc.logger.info('点击"素材中心"')
        sc.driver.find_element_by_name("素材中心").click()

        sc.logger.info('向上滑动')
        start_x = self.width // 2
        start_bottom = self.height - self.height // 5
        sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.6, 500)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击"字幕"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("字幕").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('下载“字幕”')
        btn_download = 'vivavideo material download n'
        self.template_download('字幕', btn_download)

        sc.logger.info('使用“字幕”')
        self.template_use('字幕')
        time.sleep(2)

        sc.logger.info('确认使用该下载的字幕')
        sc.driver.find_element_by_name("vivavideo editor common ok").click()
        time.sleep(0.5)

        sc.logger.info('截取使用该字体的片段')
        try:
            WebDriverWait(
                sc.driver,
                300).until(lambda theme_use: theme_use.find_element_by_name(
                    "vivavideo editor common ok"))
            sc.capture_screen(fun_name, self.img_path)
            sc.driver.find_element_by_name(
                "vivavideo editor common ok").click()
        except TimeoutError as t:
            sc.logger.error('视频时长超出300s,尚未完成添加字幕,试一试使用时长较短的视频。', t)
            return False

        sc.logger.info('点击“存草稿”按钮')
        time.sleep(1)
        sc.driver.find_element_by_name("存草稿").click()

        sc.logger.info('点击左上角返回按钮退回创作中心')
        time.sleep(1)
        sc.driver.find_element_by_name("vivavideo com nav back n").click()

        sc.logger.info('点击"素材中心"')
        sc.driver.find_element_by_name("素材中心").click()

        sc.logger.info('向上滑动')
        sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.6, 500)

        sc.logger.info('点击"字幕"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("字幕").click()

        sc.logger.info('删除下载的字幕')
        btn_del = 'vivavideo material delete n'
        self.theme_manager('字幕', btn_del)
예제 #27
0
    def test_edit_sticker_add(self):
        """剪辑-动画贴纸-添加."""
        sc.logger.info('剪辑-动画贴纸-添加')
        fun_name = 'test_edit_sticker_add'

        time.sleep(5)
        sc.logger.info('点击首页第一个草稿封面')
        el_draft = sc.driver.find_element_by_xpath("//*/XCUIElementTypeOther[2]/*/XCUIElementTypeButton")
        el_draft.click()

        sc.logger.info('点击"剪辑"')
        time.sleep(0.5)
        sc.driver.find_element_by_name("剪辑").click()

        sc.logger.info('向左滑动')
        el_collage = sc.driver.find_element_by_name("画中画")
        coord_x = el_collage.location.get('x')
        coord_y = el_collage.location.get('y')
        sc.swipe_by_ratio(coord_x, coord_y, 'left', 0.6, 800)  # 从转场向左滑动

        sc.logger.info('点击"动画贴纸"')
        sc.driver.find_element_by_name("动画贴纸").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击"添加"按钮')
        sc.driver.find_element_by_name("vivavideo tool sticker add n").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('选择一个"贴纸"添加')
        el_sticker = sc.driver.find_element_by_xpath(
            "//*/XCUIElementTypeCollectionView[2]/*/XCUIElementTypeOther/XCUIElementTypeImage")
        el_sticker.click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('镜像"贴纸"')
        sc.driver.find_element_by_accessibility_id(
            "XiaoYingResource.bundle/vivavideo_tool_subtitle_flip_n").click()

        sc.logger.info('切换"贴纸"分类')
        el_sticker_type = sc.driver.find_element_by_xpath(
            "//*/XCUIElementTypeCollectionView[1]/*/XCUIElementTypeOther/XCUIElementTypeImage")
        el_sticker_type.click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('下载该分类"贴纸"')
        try:
            sc.driver.find_element_by_name("免费下载").click()
        except NoSuchElementException:
            sc.logger.info('该分类"贴纸"已下载')

        sc.logger.info('点击GIF图标')
        sc.driver.find_element_by_name("GIF").click()
        time.sleep(3)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('返回贴纸添加页面')
        sc.driver.find_element_by_name('vivavideo com nav back n').click()

        sc.logger.info('点击下载更多')
        sc.driver.find_element_by_name("xiaoying itembar down more").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('返回贴纸添加页面')
        sc.driver.find_element_by_name('vivavideo com nav back n').click()

        sc.logger.info('点击右上角保存')
        el_ok_btn = sc.driver.find_element_by_name("xiaoying com ok")
        for i in range(2):
            el_ok_btn.click()
            sc.capture_screen(fun_name,self.img_path)

        sc.logger.info('点击“存草稿”按钮')
        sc.driver.find_element_by_name("存草稿").click()

        sc.logger.info('返回创作中心主界面')
        time.sleep(1)
        sc.driver.find_element_by_name("vivavideo com nav back n").click()
예제 #28
0
    def test_settings_03_feedback(self):
        """设置-意见反馈"""
        fun_name = 'test_settings_feedback'

        sc.logger.info("意见反馈")
        # width = sp.get_window_size()['width']
        # heightt = sp.get_window_size()['heightt']
        # sp.swipe(width / 2, heightt * 9 / 10, width / 2, heightt * 1 / 10, 500)

        start_x = self.width // 2
        start_bottom = self.height - self.height // 10
        sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.8, 500)

        sc.logger.info("进入反馈页面")
        sc.driver.find_element_by_name("意见反馈").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info("新建反馈")
        sc.driver.find_element_by_name("+ 新建反馈").click()
        time.sleep(2)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info("填写问题")
        el_question = sc.driver.find_element_by_ios_predicate(
            "type == 'XCUIElementTypeTextView'")
        el_question.clear()
        el_question.send_keys("just for ios test")
        time.sleep(1)
        try:
            sc.driver.find_element_by_xpath(
                "//XCUIElementTypeButton[@name='Done']").click()
        except NoSuchElementException:
            sc.logger.info("当前键盘为中文键盘")
            sc.driver.find_element_by_xpath("完成").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info("选择问题分类")
        time.sleep(1)
        sc.driver.find_element_by_name("vivavideo_common_pulldown_n").click()
        sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.2, 500)
        sc.driver.find_element_by_xpath(
            "//XCUIElementTypeButton[@name='完成']").click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info("提供截图")
        sc.driver.find_element_by_xpath(
            "//XCUIElementTypeImage[@name='icon_add_nrm']").click()
        time.sleep(1)
        sc.driver.find_element_by_name("取消").click()

        sc.logger.info("输入联系方式")
        el_contact = sc.driver.find_elements_by_ios_predicate(
            "type == 'XCUIElementTypeTextField'")
        for contact in el_contact:
            if contact.text == u'QQ':
                contact.send_keys("245603638")
                break

        for contact in el_contact:
            if contact.text == u'手机号':
                contact.send_keys("15857154810")
                break

        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info("提交反馈")
        sc.driver.find_element_by_xpath(
            "//XCUIElementTypeButton[@name='Done']").click()
        sc.driver.find_element_by_xpath(
            "//XCUIElementTypeButton[@name='提交']").click()
        sc.capture_screen(fun_name, self.img_path)
        sc.driver.find_element_by_name("vivavideo com nav back n").click()
예제 #29
0
    def test_music_01_shot(self):
        """拍摄-音乐视频(3:4)."""
        fun_name = 'test_music_shot'

        time.sleep(5)
        sc.logger.info('点击创作中心主按钮')
        try:
            sc.driver.find_element_by_accessibility_id("camerta_n").click()
        except NoSuchElementException:
            sc.driver.find_element_by_accessibility_id("camerta_f").click()

        sc.logger.info('向左滑动')
        start_x = self.width - self.width // 5
        start_bottom = self.height // 2
        sc.swipe_by_ratio(start_x, start_bottom, 'left', 0.6, 500)
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击音乐视频')
        sc.driver.find_element_by_name("音乐视频").click()

        sc.logger.info('跳过订阅页面')
        try:
            sc.driver.find_element_by_name("跳过").click()
            time.sleep(1)
            sc.driver.find_element_by_name("音乐视频").click()
        except NoSuchElementException:
            sc.logger.info('已跳过订阅页面')

        sc.logger.info("授权小影访问相机和麦克风")
        try:
            sc.driver.find_element_by_name("好").click()  # 授权访问相机
            time.sleep(1)
            sc.driver.find_element_by_name("好").click()  # 授权访问麦克风
            time.sleep(1)
        except NoSuchElementException:
            sc.logger.info("已授权")

        sc.logger.info('切换到3:4拍摄')
        time.sleep(1)
        el_ful = sc.driver.find_element_by_name(
            "vivavideo camera tool icon ful")
        el_ful.click()
        sc.capture_screen(fun_name, self.img_path)

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

        sc.logger.info('点击下载按钮')
        el_download = sc.driver.find_element_by_name(
            'vivavideo material download3 n')
        el_download.click()
        sc.capture_screen(fun_name, self.img_path)
        time.sleep(10)

        sc.logger.info('点击第一首已下载音频试听')
        el_music_name = sc.driver.find_element_by_xpath(
            "//*/XCUIElementTypeTable//*/XCUIElementTypeButton[2]")
        try:
            el_music_name.click()
        except NoSuchElementException:
            sc.logger.error('音频下载未完成,继续等待5s')
            time.sleep(5)
            el_music_name.click()

        sc.logger.info('点击播放/暂停按钮')
        sc.driver.find_element_by_name("vivavideo tool camera pause n").click()
        sc.capture_screen(fun_name, self.img_path)

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

        sc.logger.info('开始录制')
        # 点拍5s
        el_capture = sc.driver.find_element_by_xpath(
            "//*/XCUIElementTypeOther[5]/XCUIElementTypeOther/XCUIElementTypeOther[1]"
        )
        el_capture.click()
        time.sleep(5)
        sc.logger.info('拍摄5s后点击录制按钮停止拍摄')
        el_capture.click()

        sc.logger.info('录制完成,进入预览页')
        try:
            sc.logger.info('点击确认按钮')
            sc.driver.find_element_by_name(
                "vivavideo camera tool icon nex").click()
        except NoSuchElementException:
            sc.logger.info('音乐时长较短,已自动跳转预览页')

        sc.logger.info('点击“存草稿”按钮')
        time.sleep(0.5)
        sc.driver.find_element_by_name("存草稿").click()

        sc.logger.info('点击左上角返回按钮退回创作中心')
        time.sleep(1)
        sc.driver.find_element_by_name("vivavideo com nav back n").click()
예제 #30
0
    def test_music_01_shot(self):
        """拍摄-音乐视频(3:4)."""
        sc.logger.info('拍摄-音乐视频(3:4)')
        fun_name = 'test_music_shot'

        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('下载音乐')
        music_list = sc.driver.find_elements_by_name(
            iOS_elements.el_mus_download)
        # music_list.pop(0)
        if len(music_list) >= 4:
            music_list = music_list[1:4]
        for el_music in music_list:
            el_music.click()
            time.sleep(0.5)

        time.sleep(10)

        sc.logger.info('点击一首已下载音频试听')
        WebDriverWait(sc.driver, 10,
                      1).until(lambda x: x.find_element_by_xpath(
                          iOS_elements.el_mus_play)).click()
        sc.capture_screen(fun_name, self.img_path)

        sc.logger.info('点击“添加”按钮')
        time.sleep(5)
        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('拍摄一段5s的视频')
        btn_rec = WebDriverWait(sc.driver, 10).until(
            lambda x: x.find_element_by_xpath(iOS_elements.el_cp_music))
        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('返回创作页')
        ba.back_to_home()
        sc.logger.info('拍摄-音乐视频(3:4)完成')