在android手机上做自动化测试,monkey比cts,Android UnitTest 好用多了,他其实是继承与adb shell中的一段的shell指令。

一monkey测试的相关的原理

monkey测试的原理就是利用socket通讯的方式来模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试你开发的软件。

二、Monkey程序介绍

1) Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/sdk/sdk/tools/lib/monkey.jar;相应的途径如图所示:

注意了我的sdk在f盘

2) Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/sdk/sdk/tools/bin/monkey;

这样就可以通过在CMD窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试了。

如果我不会用monkey怎么办了???

三、Monkey命令的简单帮助

要获取Monkey命令自带的简单帮助,在CMD中执行命令:

adb shell monkey –help

这样子,就有他的各种各样的提示命令的参数。

我这里对其各种参数进行了简介了。

1) 参数:  -p

参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。指定

包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP。

* 指定一个包: adb shell monkey -p com.example.sellclientapp  100

说明:com.example.sellClientAPP 为包名,100是事件计数(即让Monkey程序模拟100次随机用户事件)。

* 指定多个包:adb shell monkey -p com.htc.Weather –p com.htc.pdfreader  -p com.htc.photo.widgets 100  如图所示:

* 不指定包:adb shell monkey 100

 说明:Monkey随机启动APP并发送100个随机事件。

* 要查看设备中所有的包,在CMD窗口中执行以下命令:

>adb shell

#cd data/data

#ls

我的手机没有root所以不能用这个属性了。

2) 参数:  -v

用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示:

日志级别 Level 0

示例 adb shell monkey -p com.htc.Weather –v 100

说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息 相应源代码如图所示了,这十分有利于调试了。

日志级别 Level 1

示例 adb shell monkey -p com.htc.Weather –v -v 100

说明  提供较为详细的日志,包括每个发送到Activity的事件信息

日志级别 Level 2

示例 adb shell monkey -p com.htc.Weather –v -v –v 100

说明  最详细的日志,包括了测试中选中/未选中的Activity信息

-s

用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。

* 示例:

 Monkey测试1:adb shell monkey -p com.htc.Weather –s 10 100

Monkey 测试2:adb shell monkey -p com.htc.Weather –s 10 100

两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。操作序

列虽   然是随机生成的,但是只要我们指定了相同的Seed值,就可以保证两次测试产生的随机操作序列是完全相同的,所以这个操作序列伪随

机的;

monkey很好,很强大,我这些实验都是他的皮毛,也希望得到牛人们指证。

好好学习天天向上。

Monkey测试简介相关推荐

  1. Android自带Monkey测试

    Monkey是在模拟器上或设备上运行的一个小程序,它能够产生为随机的用户事件流,例如点击(click),触摸(touch),挥手(gestures),还有一系列的系统级事件.可以使用Monkey来给正 ...

  2. Android 自动化测试——Monkey测试

    2019独角兽企业重金招聘Python工程师标准>>> 1.Monkey测试简介 Monkey主要应用在压力和可靠性测试上,运行该命令可以随机地向目标程序发送各种模拟键盘事件流,并且 ...

  3. 手机monkey测试BUG重现及解决方法

    目录 1.1 Monkey测试简介...1 1.2 Monkey程序介绍...1 1.3 Monkey命令的简单帮助...2 1.4 Monkey命令参数介绍...2 1.5 Monkey测试步骤.. ...

  4. Monkey测试问题及解决方法

    1 Monkey测试简介 Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动Trackball.按键等操作来对设备上的程序进行压力测试,检测程序多久的 ...

  5. 手机Monkey测试(adb环境部署、查看log、bug提报要求)

    手机Monkey测试 一.Monkey测试简介 Monkey是一款app的自动化测试工具,monkey是猴子的意思,所以从原理上说,它的自动化测试就类似猴子一样在软件上乱敲按键,猴子什么都不懂,就爱捣 ...

  6. Monkey测试工具简介

    最近依然还是那么忙,只不过慢慢总结,好几天出一篇总结,那也是在努力,加油,打工人 Monkey测试工具简介 一.Monkey 简介 二.Monkey 操作 2.1 Monkey支持的事件 2.2 Mo ...

  7. 【UI自动化测试】Mac下进行Monkey测试

    [写在前面]在进行app测试中了解到monkey测试,故在网上学习了一些资料,但自己在实践中仍有一些疑惑和问题出现.在此记录下自己的实际操作,后续仍然会不断调整,以期完善. 一.对monkey压力测试 ...

  8. iOS客户端monkey测试

    简介 monkey测试指的是,app根据系统随机产生操作指令,进行各种随机的操作,测试执行一段时间后,观察app是否有crash或者异常日志. 在monkey中主要是模拟用户点击.滑动.长按.返回这几 ...

  9. 提交apk到小米应用商店,monkey测试未通过被拒

    前情提要 因发布了两次app到小米的应用商城都是报monkey测试不通过,  但是看到问题貌似报的感觉都不应该啊,于是问题进行详细分析.日志反应一直卡在第一个载入画面,但是我们自己内部跑monkey各 ...

最新文章

  1. pl/sql显示乱码
  2. Opensmile 简介
  3. 蒸妙集团:大健康产业时代的弄潮儿,中国熏蒸行业的领跑者!
  4. python输出所有素数_Python实现输出某区间范围内全部素数的方法
  5. ubuntu10.04+hadoop0.20.2平台配置(完全分布式模式)
  6. span组件内容的刷新(笔记)
  7. Android studio中添加外部的jar包
  8. 马云老师给AI留了几句话
  9. python命名空间,类成员,对象成员
  10. 《ShowYou数组代码》第38题:对数组元素进行排序
  11. 无人驾驶全家桶:机场“人货场”的改造之路
  12. 自制冰箱,冰柜蒸发器和毛细管的速算
  13. Python让你的终端输出变得五彩斑斓
  14. 显示器经典故障以及处理办法
  15. 程序员为什么工资是用10k表示10000?
  16. C 合成的图片文件的小练习
  17. Golang库 - viper读取配置文件
  18. K_A04_001 基于单片机驱动LCD1602字符滚动显示(8位并行+IIC通信)
  19. 每天逛两次社交网站,每次都有新愤怒?​
  20. redis和mongdb的一些基本操作和命令以及使用python连接redis和mongdb

热门文章

  1. 最好电脑操作系统_软件开发人员该如何选择笔记本电脑?朋克老师来教你
  2. 2016计算机课程设计,2016年计算机组成原理课程设计-硬布线控制器的设计.doc
  3. php怎麼讲$字段的值截取第一个字,PHP截取中文字符串方法总结
  4. 大学计算机高级应用学什么,大学计算机高级应用 . 上卷
  5. 5.0安装没有costom mysql_mysql5.0 64位
  6. Java利用TreeMap实现统计种类
  7. 开发中经常使用的5种设计模式
  8. 资深项目经理的10条项目管理心得
  9. OPC的数据访问方法分别有同步访问、异步访问和订阅式
  10. PHP中文乱码的常见解决方法总结