使用Monkey对apk做稳定性测试

认识Monkey

官方文档:http://www.android-doc.com/tools/help/monkey.html

什么是Monkey?

Monkey是Android中的一个命令行工具,可以运行在模拟器或实际设备中,它向系统发送随机的用户事件流(按键输入,触摸屏输入,手势输入等),实现对应用程序随机,快速疯狂操作的效果。Monkey测试是一种为了测试软件的稳定性,健壮性的快速有效的方法。

一、安卓adb环境搭建

略,android开发环境:使用Android Studio搭建Android集成开发环境(图文教程)

二、Monkey使用步骤

1.ADB连接Android测试设备,在命令行输入 adb devices 查看设备连接情况

如果是真机,直接使用USB线连接真机和PC机,adb devices即可看到真机已经连接上了,如

C:\Users\Administrator>adb devices
List of devices attached
611AKBPP22HR5   device

如果使用模拟器,如夜神模拟器,则需要手工连接才可以看到模拟器

C:\Users\Administrator>adb connect 127.0.0.1:62001
connected to 127.0.0.1:62001

C:\Users\Administrator>adb devices
List of devices attached
127.0.0.1:62001 device

2.确定待测试应用的PackageName

方法一:直接问开发即可

方法二:使用一些查包工具可以获得PacakgeName

方法三:通过重签名软件可以获得,参照《使用re-sign.jar对apk进行重签名

3.使用Monkey发一条测试命令

示例:

adb shell monkey -p com.ssjj.recorder -v 50

包名:com.ssjj.recorder

-p 指定测试包名

-v 显示默认程度的信息

事件数设定为50

三、异常日志分析

1.找到monkey里面的哪个地方出差
2.查看Monkey里面出错前的一些事件动作,并手动执行该动作
3.若以上步骤不能找出,可以使用之前执行的monkey命令再执行一次,注意seed值要一样。
4.注意第一个switch以及其他异常信息

常见问题
1.ANR问题:在日志中搜索“ANR”
2.崩溃问题:在日志中搜索"CRASH"

假如运行结束后,结果显示为:
** System appears to have crashed at event 48 of 50 using seed 1499432070709
则说明系统在50个操作的第48个操作里面出现了异常,用的种子是1499432070709。我们下次用相同的操作序列再现这个异常,如
adb shell monkey -p com.ssjj.recorder -s 1499432070709 500

时间: 2024-08-04 17:07:43

使用Monkey对apk做稳定性测试的相关文章

LTP--linux稳定性测试 linux性能测试 ltp压力测试 ltp-pan

LTP--linux稳定性测试 linux性能测试 ltp压力测试 zhangzj1030关注14人评论33710人阅读2011-12-09 12:07:45 说明:在写这篇文章之前,本人也不曾了解LTP是干嘛的,直到参加一次技术沙龙才了解到它是用来对linux系统进行稳定性测试的一个开源工具,演讲人是世纪佳缘运维部门的技术老总!平时我们这些做运维朋友们都很少涉及到系统的测试,因为觉得linux本生就很稳定,因此就没有必要去做测试,但是系统是更新的,同样linux的内核是也在更新的,那新系统是否

Android客户端稳定性测试——Monkey

修改时间 修改内容 修改人 2016.6.20 创建 刘永志 2016.6.29 完成 刘永志 Monkey简介: Android SDK自带的命令行测试工具,向设备发送伪随机事件流,对应用程序进行进行稳定性测试. Monkey的优势与缺陷: 优势: 脱离Case的依赖 可封装自动化执行 可封装后作为客户端性能测试的驱动 缺陷: 完全随机,不可控 不支持IOS系统 Monkey命令及参数: 基本语法如下: $ adb shell monkey [options] <event-count> 如

使用uiautomator做UI测试

转载~~~~~~~~~~~~~~~~~~~~~~~~ 若有侵权,请及时联系本博主,博主将第一时间撤销 在Android 4.1发布的时候包含了一种新的测试工具–uiautomator,uiautomator是用来做UI测试的.也就是普通的手工测试,点击每个控件元素 看看输出的结果是否符合预期.比如 登陆界面 分别输入正确和错误的用户名密码然后点击登陆按钮看看是否能否登陆以及是否有错误提示等. 功能性或者黑盒UI测试不需要测试人员了解程序如何实现的,只需要验证各种操作的结果是否符合预期即可.这样的

robotium—只有apk文件的测试

把ppt的内容总结一下,并把问题说明一下: 把基本步骤搞出来,用notepad的程序吧,直接安装apk,就当做是不知道源码就好啦! 直接用自己的手机上就行啦!! 一.重签名: 步骤: 1.直接运行re-sign.jar进行签名 注意事项: (1)官网直接搜就行: (2)对Android 4.4.2(API19)的好像签名有问题,从表象看能够签名成功,去程序里run as android junit test的时候就会提示类似这样的Error: Test run failed: Permissio

[zhuan]使用uiautomator做UI测试

http://blog.chengyunfeng.com/?p=504 在Android 4.1发布的时候包含了一种新的测试工具–uiautomator,uiautomator是用来做UI测试的.也就是普通的手工测试,点击每个控件元素 看看输出的结果是否符合预期.比如 登陆界面 分别输入正确和错误的用户名密码然后点击登陆按钮看看是否能否登陆以及是否有错误提示等. 功能性或者黑盒UI测试不需要测试人员了解程序如何实现的,只需要验证各种操作的结果是否符合预期即可.这样的测试可以分离团队的开发人员和测

【转载】robotium—只有apk文件的测试

把ppt的内容总结一下,并把问题说明一下: 把基本步骤搞出来,用notepad的程序吧,直接安装apk,就当做是不知道源码就好啦! 直接用自己的手机上就行啦!! 一.重签名: 步骤: 1.直接运行re-sign.jar进行签名 注意事项: (1)官网直接搜就行: (2)对Android 4.4.2(API19)的好像签名有问题,从表象看能够签名成功,去程序里run as android junit test的时候就会提示类似这样的Error: Test run failed: Permissio

APP稳定性测试

APP稳定性测试-monkey测试 第一篇-App稳定性测试-Monkey(基本操作) 准备工作 1.首先下载好adb工具 2.使用数据线连接电脑,打开usb调试 3.使用win+R打开运行,输入cmd,切换到adb的路径下,输入adb devices 查看是否已经连接上手机 4.查看第三方应用的包名,找到要测试的包名  (adb shell pm  list package -3) 5.对指定的应用进行稳定性测试(adb shell monkey -p  包名 --throttle 1000 

性能测试之稳定性测试(可靠性测试)

最近两天在系统的复习性能测试方面的知识,结合之前的性能测试经验有了一些总结,希望写出来与大家分享,希望多提宝贵意见,共同进步~ 概念 首先来说说性能测试:性能是软件的一种非功能特性,他关注的不是软件是否完成了特定的功能,而是软件在完成特定功能是展示出来的及时性.及时性从不同的视角代表不同的指标: 用户:响应时间 系统管理员:资源利用率,可扩展性,系统稳定性,系统容量 开发人员:系统架构,数据库设计,设计和代码实现 可见,系统稳定性对系统管理员的意义重大,稳定性的好坏也可以直接影响到最终用户所关心

在linux中给你的应用做压力测试

在linux中给你的应用做压力测试 作者: 立地 邮箱: [email protected] QQ: 511363759 一.webbench 1.在Ubuntu中安装webbench —支持get,head等请求,但不支持post请求 wget http://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gz tar zxvf webbench-1.5.tar.gz cd webbench-1.5 make && make insta