MonkeyScript是一组可以被Monkey识别的命令集合

  • 优点:MonkeyScript可以完成重复固定的操作
  • 使用:adb shell monkey -f <scriptfile> <event-count>

 一、MonkeyScript命令

1、DispatchTrackball —— 轨迹球事件

DispatchTrackball(long downtime,long eventtide,int action,float x,float y,float pressure,float size,int metastate,float xprecision,float yprecision,int device,int edgeflags)

【注意:按一个键需要两个轨迹球事件】

参数详解:

  • long downtime指键最初被按下的时间
  • long eventtide指事件发生的时间
  • int action指具体操作的动作,如按下
  • float x,float y指x和y的坐标
  • float pressure压力事件的大小(0~1)
  • float size指触摸的记事值(0~1)
  • int metastate指当前按下mate键的标识
  • float xprecision,float yprecision指x和y坐标的精确值
  • int device事件的来源(0~x)
  • int edgeflags指超出屏幕了范围
  • action:0代表按下,1代表弹起

2、DispatchPointer ——点击事件

DispatchPointer(long downtime,long eventtide,int action,float x,float y,float pressure,float size,int metastate,float xprecision,float yprecision,int device,int edgeflags)

【注意:按一个键需要两个点击事件】

3、DispatchString——输入字符串命令

DispatchString(String text)

4、LaunchActivity —— 启动应用

LaunchActivity(package,Activity)

5、UserWait—— 等待事件

UserWait(1000)

6、DispatchPress——按下键值

DispatchPress(int keycode) ——keycode 66 回车键

二、MonkeyScript实战

在搜索框中输入查询词 —— 思考? 完成这个操作需要哪几步操作?

需要11个步骤:

1、启动App

2、点击地址栏

3、删除原有地址

4、输入www.baidu.com

5、点击回车键,让新地址到地址栏中

6、点击回车

7、点击搜索框

8、输入Helloween

9、点击回车键,让查询词到搜索框中

10、点击搜索按钮

11、等待结果

新建script文件:脚本如下显示:

 typ=user
count=10
speed=1.0
start data >>
LaunchActivity(com.android.browser,com.android.browser.BrowserActivity)
UserWait(5000)
DispatchPointer(10,10,0,200,100,1,1,-1,1,1,0,0)
DispatchPointer(10,10,1,200,100,1,1,-1,1,1,0,0)
DispatchPress(112)
DispatchString(www.baidu.com)
DispatchPress(66)
UserWait(10000)
DispatchPointer(10,10,0,300,400,1,1,-1,1,1,0,0)
DispatchPointer(10,10,1,300,400,1,1,-1,1,1,0,0)
UserWait(1000)
DispatchString(besttest)
UserWait(3000)
DispatchPress(66)
UserWait(10000)

三、注意事项

  • 脚本需要push到手机中才可以——push monkey.script /data/local/tmp
  • 没有调试的功能,需要自己仔细去找问题
  • 如果启动时并不是自己要测试的App,需要开发在Android的配置文件中加入相关配置 ——android:exported=”true”

安卓app测试之Monkeyscript的更多相关文章

  1. 安卓app测试之cpu监控

    安卓app测试之cpu监控,如何获取监控的cpu数据呢? 一.通过Dumpsys 来取值 1.adb shell dumpsys cpuinfo 二.top 1.top -d 1|grep packa ...

  2. 安卓app测试之Monkey日志分析《转载》

    安卓app测试之Monkey日志分析 链接:https://www.cnblogs.com/wuzm/p/10965762.html

  3. 安卓APP测试之使用Burp Suite实现HTTPS抓包方法

    APP的测试重点小部分在APP本身,大部分还是在网络通信上(单机版除外).所以在安卓APP测试过程中,网络抓包非常重要,一般来说,app开发会采用HTTP协议.Websocket.socket协议,一 ...

  4. 安卓app测试之内存分析

    一.内存分析步骤 1.启动App. 2.使用monitor命令打开:ADM(包含DDMS) ->update heap 3.操作app,点几次GC 4.dump heap 5.hprof-con ...

  5. 安卓app测试之Monkey日志分析

    转:原文:https://blog.csdn.net/a136332462/article/details/76066909  一.一般测试结果分析-搜索关键字: 1.无响应问题可以在日志中搜索 “A ...

  6. 安卓app测试之Monkey测试

    一.Monkey特点 1.运行时机:一般是产品稳定后 首轮功能测试完成的夜间进行 2.需要知道packageName 3.目的:主要测试产品是否存在崩溃问题和ANR问题. 二.获取包名的两个方法 首先 ...

  7. 安卓app测试之启动时间和电量监控

    一.启动时间监控 通过adb命令获取 adb shell am start -W /<packageName> /<activityName> 案例: adb shell am ...

  8. 安卓app测试之流量监控

    一.查看PID 通过ps命令查看:ps | grep packageName 案例:adb shell "ps | grep tv.danmaku.bili" adb shell ...

  9. 安卓app测试之内存监控

    一.通过Dumpsys 来取值 1.adb shell dumpsys meminfo 获取的所有进程的内存信息,以及总内存,剩余内存,使用的内存等信息. 2.想获得某一进程内存的详细信息,在后面加上 ...

随机推荐

  1. Mariadb 主从

    一 mariadb主从多用于网站架构,因为该主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构 ...

  2. android插件化-apkplug从宿主启动插件Activity-06

    插件是一个apk文件它存在自己的Activity界面和UI显示,本节将解说如何配置插件的启动Activity以及如何从宿主启动它. 一 配置插件apk的对外启动Activity (内部activity ...

  3. web 开发之js---ajax cgi异步调试

    xmlhttp.onreadystatechange=function() { //alert(xmlhttp.readyState); //alert(xmlhttp.status); if (xm ...

  4. 2015 Multi-University Training Contest 4 1001 Olympiad

    代码: #include<cstdio> #include<cstring> #include<set> using namespace std; int vis[ ...

  5. [计算机联网故障]WIFI接入正常,但是上网不正常(两种情况)

    今天同事拿来一个笔记本,说是连接WIFI都正常,但是就是无法上网.换了单位的wifi和他自己的手机共享wifi都是无法上网. 我首先检查了一下IP地址设置,看是否指定了IP.没有. 然后取消IPv6. ...

  6. Eclipse Android环境配置

    1.离线安装ADT插件,先将ZIP包下载 Help- Install New Software- Add 重启 2.WIndows -Preference设置SDK目录

  7. ABAP OLE

    OLE DATA: excel TYPE ole2_object, workbook TYPE ole2_object, sheet TYPE ole2_object, cell TYPE ole2_ ...

  8. ubuntu14安装docker-ce

    先卸载旧的docker sudo apt-get remove docker docker-engine docker.io docker-ce 通过HTTPS使用存储库(repository) su ...

  9. 【Silverlight】Bing Maps学习系列(四):使用图钉层(Pushpin layer)及地图图层(MapLayer)(转)

    [Silverlight]Bing Maps学习系列(四):使用图钉层(Pushpin layer)及地图图层(MapLayer) 如果我们需要在Bing Maps中加入一个小图钉标记,该如何实现了? ...

  10. idea mac 控制台中文乱码

    参考:https://blog.csdn.net/lheangus/article/details/48915357 修改内容 -Dfile.encoding=UTF-8