热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AndroidMonkey测试分析

极力推荐android开发大总结文章:欢迎收藏程序员android力荐,android开发者需要的必备技能monkey在开发中非常常见,本篇主要梳理monkey测试

极力推荐android 开发大总结文章:欢迎收藏
程序员android 力荐 ,android 开发者需要的必备技能

monkey 在开发中非常常见,本篇主要梳理 monkey 测试相关知识点。主要包括以下内容




  1. 整机 monkey 测试命令

  2. app monkey 测试命令

  3. 判断monkey 测试方法

  4. 停止monkey的方法

  5. monkey 使用手册

  6. monkey crash log 分析

  7. monkey anr log 分析

  8. monkey 测试中关机

  9. monkey 运行机制



1. 整机 monkey 测试命令

整机 测试 忽略 crash timeout security-exceptions等导致的monkey测试中断,并将 log 保存到指定文件中。

adb shell monkey --ignore-crashes --ignore-timeouts --ignore-security-exceptions --throttle 100 -v 999999999 > monkey_log.txt


2. app monkey 测试命令

执行app测试,如遇到crash 会打印出crash 信息,方便我们解决crash
adb shell monkey -p com.qiyi.video(要测试app的包名) 999999

忽略crash anr 、安全异常等测试方法。

adb shell monkey -p com.qiyi.video(要测试app的包名) --ignore-crashes --ignore-timeouts --ignore-security-exceptions --throttle 100 -v 999999999 > monkey_log.txt


3. 判断monkey 测试方法

/**
* returns true if monkey is running.
*/
public static boolean ismonkeyrunning() {
return activitymanager.isuseramonkey();
}

4. 停止monkey的方法

  • a.通过查看进程,然后killmonkey进程
    查看手机monkey 进程的命令adb shell ps |findstr monkey, 通过稍等进程 idadb shell kill -9 18333(monkey进程id)),实现停止monkey 测试。

c:\users\administrator>adb shell ps |findstr monkey
shell 18333 273 1627720 34672 binder_thr 759b3b8884 s com.android.commands.monkey
c:\users\administrator>adb shell kill -9 18333

停止monkey 测试的方法



  • b. 重启手机

此种方案简单暴力。


5. monkey 使用手册

monkey 使用参数命令帮助手册命令如下:adb shell monkey -help
monkey 参数使用手册



  • -v 表示log信息登记



  • --throttle 表示毫秒数



  • -s 表示发送随机数种子



  • -p 表示测试monkey app 包名



monkey 部分参数


6 .monkey crash log 分析

在抓取的adb log中,使用文本编辑器(建议使用notepad++,匹配大小写 )打开,

搜索一下关键字 crash:

monkey log 分析举例


7 .monkey anr log 分析

在抓取的adb log中,使用文本编辑器(建议使用notepad++,匹配大小写 )打开,

搜索一下关键字 anr in 或 者 not responding

anr log 分析

如有anr 还需要将 data/anr 下的trace 文件pull 出来辅助分析 anr原因。

导出anr 文件的命令如下:
adb pull data/anr .
导出 anr 文件


8.monkey 测试中关机

monkey 测试过程中关机可以先从以下方法入手。
1.搜索关键字battery_level 查看电池电量。
通过次关键字可以在events_log 中查看关机时候的电池电量信息、电池电压信息、电池温度信息。

电池相关信息


9.monkey 运行机制

因为系统中已经将monkey.jar打包到 system/framework/中 ,故monkey 命令可以在手机上直接运行。

monkey jar 包文件

手机 monkey  jar包存放路径

执行monkey 命令的脚本存放地址在system/bin目录下,通过此脚本,既可以开始执行monkey 相关的命令测试。

monkey 脚本

手机monkey命令脚本存放地址

至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

微信关注公众号:  程序员android,领福利



推荐阅读
  • 本文详细介绍了在MySQL中如何高效利用EXPLAIN命令进行查询优化。通过实例解析和步骤说明,文章旨在帮助读者深入理解EXPLAIN命令的工作原理及其在性能调优中的应用,内容通俗易懂且结构清晰,适合各水平的数据库管理员和技术人员参考学习。 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 在GitHub上克隆vue-element-admin项目时遇到依赖安装错误
    在 GitHub 上克隆 vue-element-admin 项目后,使用 `npm install` 安装依赖时遇到了未知的 Git 错误。具体错误信息为 `npm ERR! code 128`,提示命令执行失败。这可能是由于网络问题、Git 配置不正确或某些依赖包的仓库地址无效导致的。建议检查网络连接、更新 Git 版本并确保所有依赖项的 URL 正确无误。 ... [详细]
  • 本文详细解析了 Android 系统启动过程中的核心文件 `init.c`,探讨了其在系统初始化阶段的关键作用。通过对 `init.c` 的源代码进行深入分析,揭示了其如何管理进程、解析配置文件以及执行系统启动脚本。此外,文章还介绍了 `init` 进程的生命周期及其与内核的交互方式,为开发者提供了深入了解 Android 启动机制的宝贵资料。 ... [详细]
  • Vuforia 开发指南:第二章 环境配置与搭建
    本章节详细介绍了如何在Vuforia官网上完成账号注册及环境配置。首先,访问Vuforia官方网站并点击“Register”按钮,按照提示填写必要的个人信息。提交表单后,系统将验证信息并创建账户。接下来,用户需要下载并安装Vuforia开发工具,确保开发环境的顺利搭建。此外,还提供了详细的配置步骤和常见问题的解决方案,帮助开发者快速上手。 ... [详细]
  • 本文深入探讨了如何利用Maven高效管理项目中的外部依赖库。通过介绍Maven的官方依赖搜索地址(),详细讲解了依赖库的添加、版本管理和冲突解决等关键操作。此外,还提供了实用的配置示例和最佳实践,帮助开发者优化项目构建流程,提高开发效率。 ... [详细]
  • 本文详细介绍了批处理技术的基本概念及其在实际应用中的重要性。首先,对简单的批处理内部命令进行了概述,重点讲解了Echo命令的功能,包括如何打开或关闭回显功能以及显示消息。如果没有指定任何参数,Echo命令会显示当前的回显设置。此外,文章还探讨了批处理技术在自动化任务执行、系统管理等领域的广泛应用,为读者提供了丰富的实践案例和技术指导。 ... [详细]
  • CTF竞赛中文件上传技巧与安全绕过方法深入解析
    CTF竞赛中文件上传技巧与安全绕过方法深入解析 ... [详细]
  • Squaretest:自动生成功能测试代码的高效插件
    本文将介绍一款名为Squaretest的高效插件,该工具能够自动生成功能测试代码。使用这款插件的主要原因是公司近期加强了代码质量的管控,对各项目进行了严格的单元测试评估。Squaretest不仅提高了测试代码的生成效率,还显著提升了代码的质量和可靠性。 ... [详细]
  • 本文详细介绍了如何安全地手动卸载Exchange Server 2003,以确保系统的稳定性和数据的完整性。根据微软官方支持文档(https://support.microsoft.com/kb833396/zh-cn),在进行卸载操作前,需要特别注意备份重要数据,并遵循一系列严格的步骤,以避免对现有网络环境造成不利影响。此外,文章还提供了详细的故障排除指南,帮助管理员在遇到问题时能够迅速解决,确保整个卸载过程顺利进行。 ... [详细]
  • 在Ubuntu系统中配置Python环境变量是确保项目顺利运行的关键步骤。本文介绍了如何将Windows上的Django项目迁移到Ubuntu,并解决因虚拟环境导致的模块缺失问题。通过详细的操作指南,帮助读者正确配置虚拟环境,确保所有第三方库都能被正确识别和使用。此外,还提供了一些实用的技巧,如如何检查环境变量配置是否正确,以及如何在多个虚拟环境之间切换。 ... [详细]
  • 在处理遗留数据库的映射时,反向工程是一个重要的初始步骤。由于实体模式已经在数据库系统中存在,Hibernate 提供了自动化工具来简化这一过程,帮助开发人员快速生成持久化类和映射文件。通过反向工程,可以显著提高开发效率并减少手动配置的错误。此外,该工具还支持对现有数据库结构进行分析,自动生成符合 Hibernate 规范的配置文件,从而加速项目的启动和开发周期。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 在Android平台中,播放音频的采样率通常固定为44.1kHz,而录音的采样率则固定为8kHz。为了确保音频设备的正常工作,底层驱动必须预先设定这些固定的采样率。当上层应用提供的采样率与这些预设值不匹配时,需要通过重采样(resample)技术来调整采样率,以保证音频数据的正确处理和传输。本文将详细探讨FFMpeg在音频处理中的基础理论及重采样技术的应用。 ... [详细]
author-avatar
520TING小妖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有