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

前言:

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

任务目标:

最近接手的工作是需要在平台上集成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文件;

最终效果图:

猜你喜欢

转载自www.cnblogs.com/cocc/p/12365622.html