def test_privacy_cam(self): """权限获取""" sc.logger.info('权限获取') fun_name = 'test_privacy_cam' sc.logger.info('点击“高清拍摄”按钮') try: WebDriverWait(sc.driver, 3, 1).until(lambda x: x.find_element_by_xpath( iOS_elements.home_camera)).click() except TimeoutException: WebDriverWait(sc.driver, 3, 1).until(lambda x: x.find_element_by_xpath( iOS_elements.el_home_camera)).click() sc.logger.info("授权小影访问相机和麦克风") try: WebDriverWait( sc.driver, 5, 1).until(lambda x: x.find_element_by_name("好")).click() sc.capture_screen(fun_name, self.img_path) WebDriverWait( sc.driver, 5, 1).until(lambda x: x.find_element_by_name("好")).click() except TimeoutException: sc.logger.info("已授权") sc.logger.info('返回首页') WebDriverWait(sc.driver, 5, 1).until(lambda x: x.find_element_by_name( iOS_elements.el_cam_close)).click() sc.logger.info('拍摄授权测试完成')
def test_fans_follow(self): """粉丝关注/取消关注测试.""" sc.logger.info('用户空间粉丝页面关注状态测试开始') fun_name = 'test_fans_follow' btn_follow = 'com.quvideo.xiaoying:id/btn_follow_state' WebDriverWait( sc.driver, 10, 1).until(lambda el: el.find_element_by_id(btn_follow)).click() el_btn_follow = sc.driver.find_element_by_id(btn_follow) if el_btn_follow.text == '已关注': sc.logger.info('点击第一个已关注状态按钮') el_btn_follow.click() pos_btn = 'com.quvideo.xiaoying:id/buttonDefaultPositive' WebDriverWait( sc.driver, 10, 1).until(lambda el: el.find_element_by_id(pos_btn)).click() sc.logger.info('第一次取消点击后,关注状态截图') sc.capture_screen(fun_name, self.img_path) else: sc.logger.info('点击第一个关注状态按钮') el_btn_follow.click() sc.logger.info('第一次点击关注后,关注状态截图') sc.capture_screen(fun_name, self.img_path) assert el_btn_follow is not None
def test_music_06_local(self): """音乐库-使用本地音乐.""" sc.logger.info('音乐库-使用本地音乐') fun_name = 'test_preview_local' WebDriverWait(sc.driver, 5, 1).until(lambda x: x.find_element_by_name('本地')).click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('添加音乐') try: WebDriverWait(sc.driver, 5, 1).until(lambda x: x.find_element_by_xpath( iOS_elements.el_mus_title1)).click() except TimeoutException: sc.logger.info('本地音乐不存在!') return True sc.logger.info('点击“添加”按钮') sc.driver.find_element_by_name('添加').click() sc.logger.info('暂停播放') WebDriverWait(sc.driver, 10, 1).until( lambda x: x.find_element_by_name(iOS_elements.btn_stop)).click() sc.logger.info('确定') WebDriverWait(sc.driver, 10, 1).until(lambda x: x.find_element_by_accessibility_id( iOS_elements.btn_music_confirm)).click() sc.logger.info('点击“存草稿”按钮') WebDriverWait( sc.driver, 5, 1).until(lambda el: el.find_element_by_name("存草稿")).click() sc.logger.info('音乐库-使用本地音乐测试完成')
def test_music_02_recommend(self): """音乐库-推荐音乐下载.""" sc.logger.info('音乐库-推荐音乐下载') fun_name = 'test_preview_recommend' sc.logger.info('点击“添加配乐”按钮') WebDriverWait( sc.driver, 5, 1).until(lambda x: x.find_element_by_name("添加配乐")).click() # 推荐音乐下载 sc.logger.info('向上滑动') start_x = self.width // 2 start_y = self.height // 8 start_bottom = self.height - start_y for i in range(2): sc.swipe_by_ratio(start_x, start_bottom, 'up', 0.7, 300) sc.logger.info('下载音乐') sc.driver.find_element_by_xpath(iOS_elements.el_mus_download).click() # music_list = sc.driver.find_elements_by_name(iOS_elements.el_mus_download) # if len(music_list) >= 3: # music_list = music_list[:3] # for el_music in music_list: # el_music.click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('音乐库-推荐音乐下载测试完成')
def test_effcts_05_fx(self): """复杂操作-添加特效.""" sc.logger.info('复杂操作-添加特效') fun_name = 'test_edit_fx' sc.logger.info('点击"特效"') WebDriverWait(sc.driver, 5, 1).until( lambda x: x.find_element_by_name('特效')).click() sc.capture_screen(fun_name, self.img_path) el_more = 'xiaoying itembar down more' try: WebDriverWait(sc.driver, 5, 1).until( lambda x: x.find_element_by_name(el_more)) except TimeoutException: sc.logger.info('当前位置已添加过"特效"') sc.logger.info('点击屏幕弹出已添加的特效编辑页面') ba.screen_tap('特效', 200, 200) sc.logger.info('删除') sc.driver.find_element_by_name('删除').click() sc.logger.info('添加') WebDriverWait(sc.driver, 10, 1).until( lambda x: x.find_element_by_name('添加')).click() sc.logger.info('下载“特效”') fx_list = sc.driver.find_elements_by_xpath(iOS_elements.el_fx_download) if fx_list: for fx in fx_list: fx.click() time.sleep(5) else: pass sc.logger.info('使用"特效"') sc.driver.find_element_by_xpath(iOS_elements.el_fx_cho).click() sc.logger.info('确认添加') sc.driver.find_element_by_name(iOS_elements.el_confirm_btn).click() time.sleep(5) sc.logger.info('再次添加特效') WebDriverWait(sc.driver, 3, 1).until( lambda x: x.find_element_by_name('添加')).click() WebDriverWait(sc.driver, 5, 1).until( lambda x: x.find_element_by_name(el_more)) sc.logger.info('使用"特效"') sc.driver.find_element_by_xpath(iOS_elements.el_fx_cho).click() sc.logger.info('确认添加') sc.driver.find_element_by_name(iOS_elements.el_confirm_btn).click() time.sleep(5) sc.driver.find_element_by_name(iOS_elements.el_confirm_btn).click() sc.logger.info('复杂操作-添加特效测试完成')
def test_share_02(self): """分享-封面编辑.""" sc.logger.info('分享-封面编辑.') fun_name = 'test_share_cover' sc.logger.info('更换封面') ba.publish_cover_add() sc.capture_screen(fun_name, self.img_path) sc.logger.info('导出-封面编辑测试完成')
def test_proportion_02(self): '''剪辑-切换1:1比例.''' sc.logger.info('剪辑-切换1:1比例') fun_name = 'test_edit_proportion_1:1' sc.logger.info('选择"1:1 比例"') el_proportion = "vivavideo_edit_icon_proportion_1_1" ba.clip_proportion(el_proportion) sc.capture_screen(fun_name, self.img_path) sc.logger.info('剪辑-切换1:1比例测试完成')
def test_effcts_03_sticker(self): """复杂操作-添加贴纸.""" sc.logger.info('复杂操作-添加贴纸') fun_name = 'test_edit_sticker' sc.logger.info('点击“贴纸”') WebDriverWait(sc.driver, 5, 1).until( lambda x: x.find_element_by_name("贴纸")).click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('添加普通贴纸') for i in range(3): try: sc.logger.info('点击"添加"') WebDriverWait(sc.driver, 3, 1).until( lambda x: x.find_element_by_name('添加')).click() except TimeoutException: sc.logger.info('第一次进入贴纸,无添加按钮') sc.logger.info('选择一个普通"贴纸"添加') WebDriverWait(sc.driver, 5, 1).until( lambda x: x.find_element_by_xpath(iOS_elements.el_sticker_cho)).click() sc.logger.info('确认添加') WebDriverWait(sc.driver, 5, 1).until( lambda x: x.find_element_by_name(iOS_elements.el_confirm_btn)).click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('添加GIF贴纸') for i in range(3): WebDriverWait(sc.driver, 3, 1).until( lambda x: x.find_element_by_name('添加')).click() sc.logger.info('点击GIF') WebDriverWait(sc.driver, 5, 1).until( lambda x: x.find_element_by_name('GIF')).click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('添加一个GIF"贴纸"') ba.material_used('下载') sc.capture_screen(fun_name, self.img_path) sc.logger.info('确定') time.sleep(0.5) WebDriverWait(sc.driver, 5, 1).until( lambda x: x.find_element_by_name(iOS_elements.el_confirm_btn)).click() sc.logger.info('退出贴纸添加页面') WebDriverWait(sc.driver, 5, 1).until( lambda x: x.find_element_by_name(iOS_elements.el_confirm_btn)).click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('复杂操作-添加贴纸测试完成')
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('素材中心-动画贴纸测试完成')
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)
def test_fans_home(self): """点击粉丝头像进入粉丝空间测试.""" sc.logger.info('粉丝空间空间测试') fun_name = 'test_fans_home' avatar_img = 'com.quvideo.xiaoying:id/avatar_img' WebDriverWait( sc.driver, 10, 1).until(lambda el: el.find_element_by_id(avatar_img)).click() sc.logger.info('点击粉丝头像后,进入粉丝空间截图') sc.capture_screen(fun_name, self.img_path) sc.driver.press_keycode(4) assert avatar_img is not None
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('剪辑-画中画-图片添加测试完成')
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('导出-标题&描述测试完成')
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('导出-添加镜头测试完成')
def test_edit_sound_03_cancel(self): """剪辑-配音-放弃.""" sc.logger.info('剪辑-配音-放弃') fun_name = 'test_edit_sound_cancel' WebDriverWait(sc.driver, 5, 1).until( lambda x: x.find_element_by_name('配音和音效')).click() sc.logger.info('删除已添加的配音或音效') try: WebDriverWait(sc.driver, 3, 1).until( lambda x: x.find_element_by_accessibility_id(iOS_elements.btn_rec_start)) except TimeoutException: sc.logger.info('当前位置已添加配音或音效,删除后录制') sc.driver.find_element_by_name('删除').click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('"录制"一段音频') ba.sound_rec_add() sc.capture_screen(fun_name, self.img_path) sc.logger.info('取消添加') WebDriverWait(sc.driver, 5, 1).until( lambda x: x.find_element_by_name(iOS_elements.el_cancel_btn)).click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('确定放弃') sc.driver.find_element_by_name('确认').click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('点击“存草稿”按钮') WebDriverWait(sc.driver, 5, 1).until( lambda el: el.find_element_by_name("存草稿")).click() sc.logger.info('剪辑-配音-放弃测试完成')
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('剪辑-进入比例页面测试完成')
def test_export_03_720P(self): """导出-720P.""" sc.logger.info('导出-720P') fun_name = 'test_export_720P' sc.logger.info('点击“保存到相册”') WebDriverWait( sc.driver, 5, 1).until(lambda x: x.find_element_by_name("保存到相册")).click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('点击“高清 720P”') ba.export_video("高清 720P") sc.capture_screen(fun_name, self.img_path) sc.logger.info('导出-保存到相册-720P-二次导出测试完成')
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('素材中心-特效测试完成')
def test_edit_transition_02(self): """剪辑-转场-下载使用.""" sc.logger.info('剪辑-转场-下载使用') fun_name = 'test_edit_transition_use' sc.logger.info('下载并使用转场') ba.clip_transition() sc.capture_screen(fun_name, self.img_path) sc.logger.info('点击“存草稿”按钮') WebDriverWait( sc.driver, 5, 1).until(lambda el: el.find_element_by_name("存草稿")).click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('剪辑-转场-下载使用测试完成')
def test_music_05_delete(self): """音乐库-删除已下载音乐.""" sc.logger.info('音乐库-删除已下载音乐') fun_name = 'test_preview_delete' sc.logger.info('点击删除按钮') WebDriverWait(sc.driver, 5, 1).until( lambda x: x.find_element_by_name(iOS_elements.el_mus_del)).click() sc.logger.info('选择一首已下载音乐') el_check = sc.driver.find_elements_by_name(iOS_elements.el_mus_cho) el_check[0].click() sc.logger.info('再次点击删除按钮') WebDriverWait(sc.driver, 5, 1).until(lambda x: x.find_element_by_name( iOS_elements.el_mus_del2)).click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('音乐库-删除已下载音乐测试完成')
def test_sticker_02(self): """剪辑-动画贴纸-添加.""" sc.logger.info('剪辑-动画贴纸-添加') fun_name = 'test_edit_sticker_add' sc.logger.info('添加一个普通"贴纸"') ba.sticker_comm_add() sc.logger.info('确认添加') WebDriverWait(sc.driver, 5, 1).until(lambda x: x.find_element_by_name( iOS_elements.el_confirm_btn)).click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('添加第二个贴纸并放弃') WebDriverWait(sc.driver, 10, 1).until(lambda x: x.find_element_by_name('添加')).click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('剪辑-动画贴纸-添加测试完成')
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)-音频下载完成')
def test_privacy_album(self): """权限获取""" sc.logger.info('权限获取') fun_name = 'test_privacy_album' sc.logger.info('点击创作中心主按钮') ba.home_enter() sc.logger.info('点击“视频剪辑”按钮') try: WebDriverWait(sc.driver, 5, 1).until(lambda x: x.find_element_by_xpath( iOS_elements.el_home_edit)).click() except TimeoutException: WebDriverWait(sc.driver, 5, 1).until(lambda x: x.find_element_by_xpath( iOS_elements.home_edit)).click() try: sc.driver.find_element_by_name("跳过").click() sc.capture_screen(fun_name, self.img_path) except NoSuchElementException: sc.logger.info('已跳过订阅页面') sc.logger.info("授权小影访问相册和媒体资料") try: WebDriverWait( sc.driver, 5, 1).until(lambda x: x.find_element_by_name("好")).click() sc.capture_screen(fun_name, self.img_path) WebDriverWait( sc.driver, 5, 1).until(lambda x: x.find_element_by_name("好")).click() except TimeoutException: sc.logger.info("已授权") sc.logger.info('返回首页') WebDriverWait(sc.driver, 5, 1).until(lambda x: x.find_element_by_name( iOS_elements.gallery_back)).click() sc.logger.info('相册授权测试完成')
def test_sticker_03(self): """剪辑-动画贴纸-GIF添加.""" sc.logger.info('剪辑-动画贴纸-GIF添加') fun_name = 'test_edit_sticker_GIF' sc.logger.info('点击GIF') WebDriverWait( sc.driver, 10, 1).until(lambda x: x.find_element_by_name('GIF')).click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('添加一个GIF"贴纸"') ba.material_used('下载') sc.capture_screen(fun_name, self.img_path) sc.logger.info('确定') time.sleep(0.5) WebDriverWait(sc.driver, 5, 1).until(lambda x: x.find_element_by_name( iOS_elements.el_confirm_btn)).click() sc.logger.info('剪辑-动画贴纸-GIF添加测试完成')
def test_user_fans(self): """测试用户空间粉丝页面的初始状态.""" sc.logger.info('用户空间粉丝页面初始状态检查测试开始') fun_name = 'test_user_fans' sc.logger.info('点击个人中心主按钮') p_btn = 'com.quvideo.xiaoying:id/img_studio' WebDriverWait( sc.driver, 10, 1).until(lambda c_btn: c_btn.find_element_by_id(p_btn)).click() el_tab_list = sc.driver.find_elements_by_id( 'com.quvideo.xiaoying:id/text_tab_title') for el_tab in el_tab_list: if el_tab.text == '粉丝': sc.logger.info('点击“粉丝”tab') el_tab.click() sc.logger.info('粉丝页面初始状态截图开始') sc.capture_screen(fun_name, self.img_path) assert el_tab is not None
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('素材中心-滤镜测试完成')
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('素材中心-字体测试完成')
def test_effcts_05_sound(self): """复杂操作-添加配音和音效.""" sc.logger.info('复杂操作-添加配音和音效') fun_name = 'test_edit_sound' sc.logger.info('左滑并点击"配音和音效"') el_loc = WebDriverWait(sc.driver, 5, 1).until( lambda x: x.find_element_by_name('画中画')) ba.swipe_left(el_loc, 0.3, 300) WebDriverWait(sc.driver, 5, 1).until( lambda x: x.find_element_by_name('配音和音效')).click() sc.capture_screen(fun_name, self.img_path) sc.logger.info('"录制"一段音频') ba.sound_rec_add() sc.capture_screen(fun_name, self.img_path) sc.logger.info('添加一段音效') ba.sound_audio_add() sc.capture_screen(fun_name, self.img_path) sc.logger.info('确认添加') time.sleep(2) WebDriverWait(sc.driver, 15, 1).until( lambda x: x.find_element_by_name(iOS_elements.el_confirm_btn)).click() sc.logger.info('复杂操作-添加配音和音效测试完成')
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('复杂操作-添加配乐测试完成')
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('剪辑-特效下载测试完成')