平台支持monkey命令并过滤日志展示-安卓

耗尽温柔 提交于 2020-02-26 11:38:28

前言:

做测试开发有一段时间了,总会碰到各种各样的问题,特此记录下,已做备忘;

任务目标:

最近接手的工作是需要在平台上集成monkey命令,支持命令执行并对日志进行筛选,将包含exception、crash和anr的记录筛选出来并统计出现次数;

任务整理与分析:

1.实际概况:

平台部署在linux服务器上;用户使用自己的电脑(win)连接真机(安卓)执行monkey命令;

2.思路分析:

1)服务器需要收集执行monkey命令的主机信息(主机名,IP地址等);

2)通过收集到的主机信息,控制主机执行monkey命令;

3.技术选型:

1)通过redis上传主机信息;

2)jsonp跨域传递命令,flask本地运行,接收命令并使用subprocess的Popen模块执行命令,执行后将结果返回给服务器并展示;

项目实施:

1.收集主机信息:

前提:用户本机需准备好python环境并安装flask和redis模块;本机配置好adb环境;

执行:运行提供的salve.py文件,上传主机信息;

代码:

 

2.平台展示主机信息提供执行入口:

从redis读取主机信息并展示,提供执行入口,选择本机信息后点击后跳转到执行页面;

3.执行过程:

1)执行页面显示IP地址和执行按钮;

html模板:

2)点击执行按钮,通过jsonp将命令发送到本机;

JS代码:

3)本机接收到命令后执行并过滤日志,返回数据;

salve.py完整代码:

4)平台接收到数据,通过html模板展示;

遗留问题:

1. 端口被占用时,应自动杀死占用端口的进程后重新执行进程;(目前发现占用端口的为360手机助手,无法单独杀死进程,暂放弃);

2.本地修改salve.py文件后,需手动杀死adb.exe进程,再重新运行salve.py文件;

最终效果图:

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!