adb monkey 测试命令测试怎么使用命令停止

新手快速使用Monkey测试工具的方法
明确:Monkey是直接运行在adb shell中的命令 1. 首先把Android-sdk拷贝到电脑的一个路径下(SDK比较大,10.3G, 大家可以拿移动硬盘来我这里拷就行) 2. 然后配置android的adb环境变量,方法如下(我在网上搜的配置方法,细化了一下,比较简单,照着操作就行): 第一步,打开环境变量配置窗口。右击计算机,属性-高级系统设置-环境变量。 第二步,添加android系统环境变量。在系统变量下点击新建按钮,输入环境变量名android(自己的习惯命名),将android开发工具的路径导入 打开Android-sdk->platform-tools,复制这个路径,然后粘贴到变量值中,接着同样打开tools,复制路径,粘贴到变量值中,注意,这两个路径之间用英文分隔符分开 第三步,选择系统变量中Path,点击编辑按钮,把刚才添加的变量值复制粘贴到path后面,用英文分隔符和前面的内容分开即可,接着输入英文分隔符,再把变量名添加到后面,注意要前后加%,后面还得加一个英文分号 第四步,测试环境变量。 首先打开运行命令,运行在开始菜单中就有 1. 最后一步,在运行中输入cmd,调用命令操作窗口。进入后输入adb查看运行结果。 完成配置后,我们就可以直接使用了,接着就可以执行测试了,方法如下: 1. 手机连接电脑,在cmd 下执行adb shell ,这样就可以访问手机了,如果手机没有被识别,是因为没有驱动,需要安装驱动, 如何安装驱动? 在网上下载91助手电脑版,安装好后连接手机,需要在设置->开发者选项中,打开USB调试.OK 2.重新在cmd下执行adb shell,这个时候会识别手机 3.接着输入如下命令:执行命令:monkey -p com.baidu.BaiduMap --throttle 500 -v -v -v 1000000 >/sdcard/monkey.log &
logcat -v time >/sdcard/logcat.log &(详细命令参数看Monkey介绍)这个命令是进行测试的常用命令, 如果还需要设置别的参数,可以根据Monley测试简介上的详细介绍去学习 4. 同时可以在另外一个cmd窗口下执行 adb logcat -v time >>file (这样会把执行的日志打印到指定的文件中),如果不想存在C盘,可以存在其他的路径下:比如, adb logcat -v time >>d:/file即可 5.测试完成后,进入手机/sdcard/monkey.log,把log导出来,如果直接打开log,不方面查看log,在网上下载一个EditPlus,用这个工具打开log文件,清楚明了,方便查找crash和ANR,采用Ctrl+F搜索的方式可以快速定位 (在monkey中搜索提示的crash的事件号,在fie中搜索crash、anr,exception) 下面是两个比较常见的问题: 1.在测试没有完成如何结束此测试? 有两中方法: (1)直接拔掉数据线断开,然后重新启动手机即可 (2)在cmd中键入命令: ps(ps指所有进程)然后找到Monkey对应的进程号,一般比较好找,然后Kill掉这个进程,输入kill+进程号命令,这样就可以终止测试了 2.Monkey Test执行过程中一般在下面两种情况下会停止测试: (1)如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。 (2)如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。 避免这个现象的解决办法:--ignore-timeouts 当应用程序发生任何超时错误(如“Application Not Responding”对话框)时,Monkey将停止运行。如果设置此选项,Monkey将继续向系统发送事件,直到计数完成 --ignore-crashes 用于指定当应用程序崩溃时(Force & Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。 获取包名的方法: adb shell pm list packages
最新教程周点击榜
微信扫一扫温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(2258)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'Android 的monkey测试及排错步骤',
blogAbstract:'1.& 环境准备:&&&&1。开启eclipse,并显示到Logcat界面;&&&&2。开启模拟器;&&&&3。进入shell,准备Monkey测试;&&&&4。准备两把屏幕尺子(方便找到测试时找到的点及一些动作的变化);&&2。& 开始测试:&&&&1。在shell中输入命令(以测试com.hskj.memo为例):monkey -p com.hskj.memo -s100-v -v -v500&&&&&&&(测试com.hskj.memo包,以seed为100的随机排序<设置seed方便下次进行同样事件的测试,不过要求测试的起始位置相同,比如起始位置为桌面或者为某一个Activity的某一个状态>,测试结果为第三级别的显示,即为最详细的显示)',
blogTag:'',
blogUrl:'blog/static/55',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:5,
permalink:'blog/static/55',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}小虎博客,是记录小虎个人生活点点滴滴的个人博客,主要由个人生活、软件测试、PHP程序开发以及WEB开发相关分类组成,记录生活的点点滴滴,总结工作的点点滴滴,分享学习的点点滴滴,让生活、工作、学习,有机结合!&Monkey介绍
Monkey介绍
视频太卡?试试切换线路
本课时介绍什么是Monkey和Monkey的环境变量配置及Monkey如何运行。
本课时详细学习Monkey基本参数和事件参数
本课时详细介绍Monkey的调试参数
本课时学时Monkey黑白名单的使用
只有成为VIP会员才能提问&回复,快吧!如果你还没有账号你可以一个账号。
添加新技术问题
课程 [Monkey介绍]
中已存在问题
添加新技术问题
问题描述越详细,被解答的速度越快
有新回答时请邮件提醒我
着急,拜托快点
不急,慢慢解决
关联课程 [Monkey介绍]
服务热线:400-678-8266Monkey test——Mr.Monkey 移动测试培训课后总结(三)
Monkey test——Mr.Monkey 移动测试培训课后总结(三)
& & 这周乱七八糟的事情太多啦。。现在才整理。。
希望对大家还有帮助。。
一、Monkey test简介
Android的SDK 里面,Monkey的tools是一个命令行工具,当连接Android设备时,只要在命令行里输入相应命令就能运行tools;
Monkey test是一项压力测试,可以在规定的次数范围内做任何随机的操作,随机操作包括点击、滑动、Application切换、横竖屏、应用关闭等等,用户能做的操作统统可以模拟;
Monkey test跑出来crash的bug等级永远为1,版本release前,Monkey跑出的结果中crash要为0。业内标准:final release前,Monkey跑完的总次数应为25W次,其结果里不允许有nullPointException出现.
二、Monkey test的使用流程
三、简单的Monkey脚本示例
adb shell monkey -v 10
其中10代表运行脚本的操作次数为10次,若seed不指定值默认为0;
后面两行为intent的描述,运行了Android基本的LAUNCHER主进程,LAUNCHER主进程之后运行了MONKEY进程;
Event percentages,因为命令中只加了一个限制条件,次数为10,当其余参数没有添加时,就如上图百分比出现;
//Money finished 完成。
四、Monkey test实例1
第一个-s emulator-5554 设备的序列号;
-p com.lovebizhi.wallpaper-1 要测试对象的package name(adb shell data/data),若测试多个对象,则应为-p package_name1 -p package_name2;
--pct-xxx 用来设定每个事件在测试中的百分比,百分比总和不能超过100%;
--pct-touch 调整触摸事件的百分比
--pct-motion 调整动作事件的百分比
--pct-trackball 调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随着点击)
--pct-nav 调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)
--pct-majormav 调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作)
第二个-s 同样的seed值(seed值由自己定义,相当于一个文件的文件名,monkey的操作顺序相当于文件)有同样的随机序列,复现问题时,需要monkey用同样的操作步骤重新跑一遍,可以在日志的第一行看到seed值;
--throttle 设定事件发生的间隔,不设置时,在android系统极限内操作,若手机性能较低,容易出现系统无响应,最佳的时间间隔在300或者500,单位是毫秒;
-v 指定Log的详细程度,共有三个级别:
-v 日志级别为level 0
-v -v 日志级别为level 1
-v -v -v 日志级别为level 2&&&& 日志的详细程度越来越详细
Monkey tools在Android内只能针对Activity做测试,不能对service做测试。
tips: adb devices 可以获取设备id
adb shell data/data获取应用包的名称
Monkey test中只能指定activity属性的应用包进行测试,当出现指定的应用程序不是activity的时候,monkey会出现以下log,并终止运行:
备注:activity和service的区别,activity是android应用的核心概念,简而言之activity为用户交互管理者,有一个可视界面呈现,而service是在后台运行,没有界面呈现。
五、Monkey test实例2
想要跑完脚本后再去总结过程中出现的crash或者系统无响应,需要指定参数--ignore-crashes --ignore-timeouts,若不指定,遇到问题就会停止运行,效率会降低。
当且仅当设备有滚轮时需要设定--pct-trackball,如果没有滚轮需设置为0。
monkey可以不指定-p后的应用,若为了有针对的跑需要指定。
六、检查结果
查找关键字crash
//sending event表示目前已经执行的测试次数
查看有效crash,注意crash:后的进程(pid),及其后的package name是被测对象;java.lang.NullPointerException下会给出错误在开发工程中的第几行。
tips:指定要保存log的路径(& d:\test.txt)可以进入D盘下的test.txt进行crash关键字的筛选&
注意事项:
在进行monkey的测试时,最好不进行adb的操作;
跑monkey时需要记录3个log,monkey的log(重新指向到某个txt中),dump system的log(查看系统占有),android本身的log logcat。
[如需转载,请在转载时注明出处,并保证本文的完整性]
该文章对我有帮助
1543°|15317 人阅读|12
辛苦啊 勤奋啊 加油啊
熊志男: 辛苦啊 勤奋啊 加油啊
有点不知云里雾里了
晏佳: 有点不知云里雾里了可以加到我们的“移动测试培训讨论小群”来。。课上不懂的都可以问。。群里肯定有人能解答的。。
总结的挺好
王涞: 总结的挺好是Mr.Monkey讲的好。。
哈哈,不错哦...
最底部注意事项里: 跑monkey时需要记录3个log,monkey的log(重新指向到某个txt中),dump system的log(查看系统占有),android本身的log logcat。 dump system的log和android本身的log怎么查看
啊,知道了,/blog/6146这里面有介绍。。。
3个log只有为什么另外两个log是空的,我执行的是monkey -s 0 --pct-appswitch 25 --pct-motion 30 --pct-touch 45 --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error -v -v -v 500000 &/data/system/monkeylog.txt bugreport &/data/system/bugreport.log dumpstate &/data/system/dumpstate.log。拜谢
我也想知道这dump system的log和android本身的log怎么查看
怎么加入“移动测试培训讨论小群”呢
后发表评论
访客 179170
白云 的其他博文 更多
& 测试窝,促进软件测试领域知识的传播。
联系我们 QQ:
测试窝常年法律顾问: 王雄金律师 | 执业证号:80720

我要回帖

更多关于 停止monkey测试 的文章

 

随机推荐