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. ViewPager学习之仿微信主界面

    由于素材的原因,这里都是从网上找的图片,所以所谓的仿微信实际上最后成了下图这货.. .,点击变色也是自己用的windows自带绘图的颜料桶填充的空白. .. watermark/2/text/aHR0 ...

  2. jquery验证插件validate自定义扩展

    <script src="${pageContext.request.contextPath}/resources/js/jquery-1.12.0.min.js" type ...

  3. ZOJ 3872 计算对答案的贡献

                                                   D - Beauty of Array Description Edward has an array A ...

  4. 【bzoj2003】[Hnoi2010]Matrix 矩阵

    首先可以知道,如果已知第一行和第一列的数,那么可以很容易的计算出其余的数.进一步的,如果笔算将每个数的表达式写出可以得出如下结论: 第i行的第j个数(i>1,j>1)只与(1,1),(i, ...

  5. python 变量作用域 v.__sizeof__() python 深复制 一切皆对象 尽量减少内存消耗

    python 深入理解 赋值.引用.拷贝.作用域 - 江召伟 - 博客园 https://www.cnblogs.com/jiangzhaowei/p/5740913.html a=[1,2,5]b= ...

  6. go16---select

    package main /* Channel Channel 是 goroutine 沟通的桥梁, goroutine是通过通信来进行内存的共享, 而不是通过内存的共享来进行通信,通过Channel ...

  7. 一个shell脚本清空所有vim的配置!!

    这个是从dyl的脚本那里偷过来的哈哈--(其实我现在还不是很懂shell [ -d .vim ] && mv -v .vim .vim.$(stat -c%Y .vim) [ -f . ...

  8. Java中wait和sleep方法的区别

    1.两者的区别 这两个方法来自不同的类分别是Thread和Object 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁). wait ...

  9. P3953 逛公园(dp,最短路)

    P3953 逛公园 题目描述 策策同学特别喜欢逛公园.公园可以看成一张NN个点MM条边构成的有向图,且没有 自环和重边.其中1号点是公园的入口,NN号点是公园的出口,每条边有一个非负权值, 代表策策经 ...

  10. 擅长排列的小明II

    先搜索 出来一点结果之后  看结果之间的 联系 得出  递推公式  . #include<stdio.h> #include<string.h> #include<mat ...