• 平台支持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文件;

    最终效果图:

  • 相关阅读:
    vue证明题二,让vue跑起来
    vue证明题一,vue全家桶的构成
    Vue证明题
    layDay日期格式不合法报错解决
    【ASP.NET Core】运行原理(3):认证
    【ASP.NET Core】运行原理(2):启动WebHost
    【ASP.NET Core】运行原理(1):创建WebHost
    [Open Source] .NET 基于StackExchange.Redis的扩展
    [高并发]EntityFramework之高性能扩展
    [Tool] Git 使用 与 Git Flow
  • 原文地址:https://www.cnblogs.com/cocc/p/12365622.html
Copyright © 2020-2023  润新知