def run_monkey(self, monkey_shell, actions=False, widget_black=False): ''' 清理旧的配置文件并运行monkey,等待运行时间后pull log文件到电脑 :param monkey_shell: shell命令 uiautomatortroy 时 max.xpath.selector文件需要配置正确 :param actions: 特殊事件序列 max.xpath.actions文件需要配置正确 :param widget_black: 黑控件 黑区域屏蔽 max.widget.black文件需要配置正确 :return: ''' self.clear_env() self.push_jar() # todo 输入参数如果需要就移动文件 if monkey_shell.find('awl.strings'): self.push_white_list() if monkey_shell.find('uiautomatortroy'): self.push_selector() # if actions: if monkey_shell.find('uiautomatormix'): self.push_actions() if widget_black: self.push_widget_black() self.push_string() runtime = monkey_shell.split('running-minutes ')[1].split(' ')[0] print(runtime) logger.info('开始执行') logger.info('monkey将执行 %s minutes,请耐心等待 ...........................' % runtime) _shell(monkey_shell) logger.info('结束monkey,手机开始休息') time.sleep(int(runtime) * 60 + 30) logger.info('结束monkey,手机休息完毕')
def pull_monkeylog(): if 'monkeyerr.txt' in _shell('ls /sdcard/') and 'monkeyout.txt' in _shell( 'ls /sdcard/'): pull('/sdcard/monkeyerr.txt', '../GT_Report/monkeyerr.txt') pull('/sdcard/monkeyout.txt', '../GT_Report/monkeyout.txt') logger.info('pull monkeyerr.txt monkeyout.txt ---> /GT_Report/') return True else: logger.error('There is monkeyelog file,Please check out!') return False
def pull_js(): """将手机内的data.js复制到电脑""" if 'data' in _shell('ls /sdcard/GTRData/'): logger.info('Starting to pull data.js to %s ' % os.path.abspath('../GT_Report/data/data.js')) pull('/sdcard/GTRData/data.js', '../GT_Report/data/data.js') logger.info('Pull data.js success') return True else: logger.error( 'There is no data.js in /sdcard/GTRData/! Please check out!') return False
def clear_env(self): logger.info('Clearing monkey env') _shell('rm -r /sdcard/max.widget.black') # 黑名单 _shell('rm -r /sdcard/max.xpath.selector') # 优先级: tony模式 _shell('rm -r /sdcard/max.xpath.actions') # 特殊操作:max模式 _shell('rm -r /sdcard/awl.strings') # activit白名单 _shell('rm -r /sdcard/max.strings') _shell('rm -r /sdcard/monkey.jar') _shell('rm -r /sdcard/framework.jar') _shell('rm -r /sdcard/monkeyerr.txt') _shell('rm -r /sdcard/monkeyout.txt') _shell('rm -r /sdcard/monkeyerr.txt') _shell('rm -r /sdcard/monkeyout.txt') logger.info('清理monkey文件成功,环境干净')
def clean_data(self): """清除GTR文件""" # self._broadcast('com.tencent.wstt.gt.baseCommand.clearData') _shell('rm -r sdcard/GTR') _shell('rm -r sdcard/GTRData/data.js') logger.info('清理数据:Clearing GTR file and data.js')
def backup_data(self): """备份GTR文件到GTR_Backup""" self._broadcast('com.tencent.wstt.gt.baseCommand.exportData', '--es', 'saveFolderName', '/sdcard/GTR_Backup/') _shell('cp -r sdcard/GTR/. sdcard/GTR_Backup/') logger.info('备份 /GTR/ to /GTR_Backup/ 成功')