def step_impl(context): # 新加步骤 # 判断是否在播放界面 view_full = Video().get_aqy_video_view_full() if view_full.exists: back_video = Video().get_aqy_playing_back() if not back_video.exists: d.click(320, 320) if back_video.wait.exists(): back_video.click.wait() # 判断是否在搜索界面,如果在搜索界面先取消搜索 cancel_ele = d(text='取消') if cancel_ele.exists: cancel_ele.click.wait() # 判断是否在本地视频列表界面,如果在,返回 back_top_menu = Video().get_back_to_top_menu() if back_top_menu.exists: back_top_menu.click.wait() # 获取左侧菜单 left_menu = Video().get_aqy_left_menu_frame() if left_menu.wait.exists(): x = left_menu.info['bounds']['right'] y = left_menu.info['bounds']['bottom'] d.swipe(x, int(y) / 2, 0, int(y) / 2, 15) top_menu = Video().get_aqy_home_top_menu() if top_menu.wait.exists(): top_menu.click.wait() else: Utils().raise_Exception_info('爱奇艺顶部菜单不存在')
def back_to_launcher(self): # 判断当前是否在视频播放界面 video_back = self.get_aqy_playing_back() if video_back.wait.exists(): video_back.click.wait() d.click(641, 641)
def cancel_syssetting_special_bluetooth(self, bt_name): ele = self.__get_syssetting_bluetooth_list_ele() if ele.scroll.vert.to(text=bt_name): e = d(text=bt_name) e_btn = e.sibling(resourceId=pkg_name + ':id/bluetooth_device_btn') if e_btn.text.strip() == '断开': e_btn.click() time.sleep(2) d.click(110, 88) self.back_to_launcher() return False else: self.back_to_launcher() return True
def click_radio_pause_or_play_ele(self): next_ele = self.__get_radio_next_ele() prev_ele = self.__get_radio_prev_ele() if next_ele.wait.exists() and prev_ele.wait.exists(): prev_x = (int(prev_ele.info['bounds']['left']) + int(prev_ele.info['bounds']['right'])) / 2 prev_y = (int(prev_ele.info['bounds']['bottom']) + int(prev_ele.info['bounds']['top'])) / 2 next_x = (int(next_ele.info['bounds']['left']) + int(next_ele.info['bounds']['right'])) / 2 next_y = (int(next_ele.info['bounds']['bottom']) + int(next_ele.info['bounds']['top'])) / 2 pause_x = (prev_x + next_x) / 2 pause_y = (prev_y + next_y) / 2 d.click(pause_x, pause_y) else: Utils().raise_Exception_info('上一首或下一首控件不存在')
def click_syssetting_bluetooth_ele(self): ele = d(textContains='蓝牙', resourceId=pkg_name + ':id/bluetooth_title') ele_scan = d(text='重新扫描', resourceId=pkg_name + ':id/btn_bluetooth_scan') # 防止有修复控件挡住控件点击 if not ele.wait.exists(timeout=5000): d.click(1150, 80) self.click_syssetting_menu_net_ele() if ele.wait.exists(timeout=5000): ele.click.wait() if not ele_scan.wait.exists(): d.click(1150, 80) time.sleep(2) ele.click() else: uit.raise_Exception_info('蓝牙菜单展开失败')
def connect_special_wifi(self, ssid, pwd): Common().back_to_launcher() Launcher().click_system_setting_ele() SysSetting().click_syssetting_menu_net_ele() ele = d(resourceId='com.qinggan.app.setting:id/wifi_header') ele1 = ele.child(text='WIFI', resourceId='com.qinggan.app.setting:id/wifi_title') if not ele1.wait.exists(): d.click(1150, 80) SysSetting().click_syssetting_menu_net_ele() # flag_ele = ele.child(resourceId = 'com.qinggan.app.setting:id/wifi_switcher') # flag_ele.click() ele.click.wait() scan_ele = d(text='重新扫描', resourceId='com.qinggan.app.setting:id/btn_wifi_scan') while not scan_ele.wait.exists(): ele.click.wait() wifi_ssid_ele = d( resourceId='com.qinggan.app.setting:id/wifi_scanresult_name') if wifi_ssid_ele.wait.exists(timeout=Utils().LONG_TIME_OUT): ele = d(resourceId='com.qinggan.app.setting:id/wifi_device_list') if not ele.scroll.vert.to(text=ssid): scan_ele.click() wifi_ssid_ele.wait.exists(timeout=Utils().LONG_TIME_OUT) ele.scroll.vert.to(text=ssid) ele1 = d(text=ssid) con_ele = ele1.sibling(text='连接') if con_ele.wait.exists(): con_ele.click() pwd_ele = d(resourceId='com.qinggan.app.setting:id/wifi_pwd_input') if pwd_ele.wait.exists(): pwd_ele.set_text(pwd) ele1.sibling(text='连接').click() else: Utils().raise_Exception_info('刷新时间过长')
def step_impl(context): # 获取参数 param = context.table[0]['chk_name'] if param.startswith('o_'): chk_video_name = Utils().get_context_map(param) else: chk_video_name = param video_title = Video().get_aqy_playing_title() if not video_title.exists: d.click(320, 320) if not video_title.wait.exists(): Utils().raise_Exception_info('视频名称控件不存在') video_name = video_title.text if not chk_video_name == video_name: Utils().raise_Exception_info('视频文件名称不一致,期望值为《' + chk_video_name + '》,实际值为《' + video_name + '》')
def back_to_launcher(self): # 获取当前包名 package_name = d.info['currentPackageName'] while package_name != 'com.qinggan.app.launcher': if 'com.qinggan.app.carmodule.ui'.__eq__(package_name): pass elif 'com.qinggan.app.serviceui'.__eq__(package_name): pass elif 'com.qiyi.video.auto'.__eq__(package_name): Video().back_to_launcher() elif 'com.pateonavi.naviapp'.__eq__(package_name): Navi().back_to_launcher() elif 'com.qinggan.app.music'.__eq__(package_name): Audio().back_to_launcher() elif 'cn.kuwo.kwmusiccar'.__eq__(package_name): Audio().back_from_kuwo() elif 'com.qinggan.app.radio'.__eq__(package_name): Radio().back_to_launcher() elif 'com.qinggan.app.qplay'.__eq__(package_name): Qplay().back_to_launcher() elif 'com.qinggan.app.setting'.__eq__(package_name): SysSetting().back_to_launcher() elif 'com.qinggan.app.ivokaUI'.__eq__(package_name): time.sleep(10) elif 'com.qinggan.app.gesture'.__eq__(package_name): Gesture().back_to_launcher() else: if uit.crash_handler(): print('回到主界面有CRASH') else: uit.raise_Exception_info('应用停留界面没有返回主界面处理,请联系维护人员添加') break package_name = d.info['currentPackageName'] # 在主界面 Launcher().back_to_main() # 升级后取消修复 d.click(1150, 80) time.sleep(2)
def step_impl(context): # 获取参数 chk_is_playing = context.table[0]['chk_is_playing'] # 获取视频广告控件 adtime = Video().get_aqy_player_top_adtime() if adtime.wait.exists(timeout=5000): adtime.wait.gone(timeout=120000) # 获取当前播放时间控件 oldTime = Video().get_aqy_player_currentTime() if not oldTime.exists: d.click(320, 320) # 点击屏幕弹出时间控件 old_time = '' if oldTime.wait.exists(): old_time = oldTime.text else: Utils().raise_Exception_info('当前播放时间控件不存在') time.sleep(5) newTime = Video().get_aqy_player_currentTime() if not newTime.exists: d.click(320, 320) new_time = '' if newTime.wait.exists(): new_time = newTime.text else: Utils().raise_Exception_info('当前播放时间控件不存在') if str(new_time == old_time).lower() == str(chk_is_playing).lower(): Utils().raise_Exception_info('视频播放状态不一致')
def au_next(self): d(resourceId='com.qinggan.app.launcher:id/app_music').click() time.sleep(2) d(resourceId='com.qinggan.app.music:id/img_next', ).click() time.sleep(2) d.click(640,656) time.sleep(2) d.click(880, 656) time.sleep(2) d.click(880,656) time.sleep(2)
def back_to_launcher(self): # 获取当前包名 package_name = d.info['currentPackageName'] if ver_flag: while package_name != 'pateo.dls.app.launcher': if 'pateo.dls.carmodule.ui'.__eq__(package_name): pass elif 'pateo.dls.serviceui'.__eq__(package_name): pass elif 'com.qiyi.video.auto'.__eq__(package_name): Video().back_to_launcher() elif 'com.pateonavi.naviapp'.__eq__(package_name): Navi().back_to_launcher() elif 'pateo.dls.audioui'.__eq__(package_name): Audio().back_to_launcher() elif 'cn.kuwo.kwmusiccar'.__eq__(package_name): Audio().back_from_kuwo() elif 'pateo.dls.app.radio'.__eq__(package_name): Radio().back_to_launcher() elif 'pateo.dls.qplay'.__eq__(package_name): Qplay().back_to_launcher() elif 'pateo.dls.app.SystemSettingUI'.__eq__(package_name): SysSetting().back_to_launcher() elif 'pateo.dls.app.ivokaUI'.__eq__(package_name): time.sleep(10) elif 'pateo.dls.gesture'.__eq__(package_name): Gesture().back_to_launcher() else: # Utils().raise_Exception_info('当前包名获取异常') if Utils().crash_handler(): print('回到主界面有CRASH') package_name = d.info['currentPackageName'] else: while package_name != 'com.qinggan.app.launcher': if 'com.qinggan.app.carmodule.ui'.__eq__(package_name): pass elif 'com.qinggan.app.serviceui'.__eq__(package_name): pass elif 'com.qiyi.video.auto'.__eq__(package_name): Video().back_to_launcher() elif 'com.pateonavi.naviapp'.__eq__(package_name): Navi().back_to_launcher() elif 'com.qinggan.app.music'.__eq__(package_name): Audio().back_to_launcher() elif 'cn.kuwo.kwmusiccar'.__eq__(package_name): Audio().back_from_kuwo() elif 'com.qinggan.app.radio'.__eq__(package_name): Radio().back_to_launcher() elif 'com.qinggan.app.qplay'.__eq__(package_name): Qplay().back_to_launcher() elif 'com.qinggan.app.setting'.__eq__(package_name): SysSetting().back_to_launcher() elif 'com.qinggan.app.ivokaUI'.__eq__(package_name): time.sleep(10) elif 'com.qinggan.app.gesture'.__eq__(package_name): Gesture().back_to_launcher() else: # Utils().raise_Exception_info('当前包名获取异常') if Utils().crash_handler(): print('回到主界面有CRASH') package_name = d.info['currentPackageName'] # 在主界面 Launcher().back_to_main() # 升级后取消修复 d.click(1150, 80) time.sleep(2)
def click_system_setting_ele(self): d.swipe(640, 0, 640, 720, 15) time.sleep(2) d.click(1200, 90) time.sleep(2)
def click_video_playing_screen(self): x = int(d.info['displayWidth']) / 2 y = int(d.info['displayHeight']) / 2 d.click(x, y)