安卓app测试之Monkeyscript
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的更多相关文章
- 安卓app测试之cpu监控
安卓app测试之cpu监控,如何获取监控的cpu数据呢? 一.通过Dumpsys 来取值 1.adb shell dumpsys cpuinfo 二.top 1.top -d 1|grep packa ...
- 安卓app测试之Monkey日志分析《转载》
安卓app测试之Monkey日志分析 链接:https://www.cnblogs.com/wuzm/p/10965762.html
- 安卓APP测试之使用Burp Suite实现HTTPS抓包方法
APP的测试重点小部分在APP本身,大部分还是在网络通信上(单机版除外).所以在安卓APP测试过程中,网络抓包非常重要,一般来说,app开发会采用HTTP协议.Websocket.socket协议,一 ...
- 安卓app测试之内存分析
一.内存分析步骤 1.启动App. 2.使用monitor命令打开:ADM(包含DDMS) ->update heap 3.操作app,点几次GC 4.dump heap 5.hprof-con ...
- 安卓app测试之Monkey日志分析
转:原文:https://blog.csdn.net/a136332462/article/details/76066909 一.一般测试结果分析-搜索关键字: 1.无响应问题可以在日志中搜索 “A ...
- 安卓app测试之Monkey测试
一.Monkey特点 1.运行时机:一般是产品稳定后 首轮功能测试完成的夜间进行 2.需要知道packageName 3.目的:主要测试产品是否存在崩溃问题和ANR问题. 二.获取包名的两个方法 首先 ...
- 安卓app测试之启动时间和电量监控
一.启动时间监控 通过adb命令获取 adb shell am start -W /<packageName> /<activityName> 案例: adb shell am ...
- 安卓app测试之流量监控
一.查看PID 通过ps命令查看:ps | grep packageName 案例:adb shell "ps | grep tv.danmaku.bili" adb shell ...
- 安卓app测试之内存监控
一.通过Dumpsys 来取值 1.adb shell dumpsys meminfo 获取的所有进程的内存信息,以及总内存,剩余内存,使用的内存等信息. 2.想获得某一进程内存的详细信息,在后面加上 ...
随机推荐
- iOS下JSON反序列化开源库
iOS下JSON字符串反序列化成对象.在正式的项目中比較常见.例如以下几个经常使用开源库.能够依据个人喜好任选其一: 1. JSONModel: https://github.com/icanzilb ...
- hdu 5001 概率DP 图上的DP
http://acm.hdu.edu.cn/showproblem.php?pid=5001 当时一看是图上的就跪了 不敢写,也没退出来DP方程 感觉区域赛的题 一则有一个点难以想到 二则就是编码有 ...
- web 开发之js---JS变量也要注意初始化
原先以为js作为弱类型语言,变量的初始化没必要,但是: var text; text+="你好"; alert(text); 对话框弹出的内容是:"undefined你好 ...
- dumpdecrypted进行砸壳
1.下载源码git clone git://github.com/stefanesser/dumpdecrypted/ 2.进行编译生成 dumpdecrypted.dylibmake 3.将dump ...
- javascript总结03
- luogu 2627 修建草坪
题目大意: 一个数列,取出一些数使得它们的总和最大且没有k个连续 思路: 首先我们可以找到一个nk的dp dp方程:dp[i]=dp[i-1]+sum[i]-sum[j] (sum[j]尽量小) 然后 ...
- 【POJ 1804】 Brainman
[题目链接] 点击打开链接 [算法] 本题是一个很经典的问题 : 归并排序求逆序对数,可以用分治算法解决 分治,分而治之,分治算法的思想就是将一个问题转化为若干个子问题,对这些子问题分别求解,最后, ...
- [odb-users] query results not being cached?
Burton, Craig crburton at tnsi.comWed Jun 6 13:58:03 EDT 2012 Previous message: [odb-users] query re ...
- Java序列化系列教程(上)
一定义以及相关概念 互联网的产生带来了机器间通讯的需求,而互联通讯的双方需要采用约定的协议,序列化和反序列化属于通讯协议的一部分.通讯协议往往采用分层模型,不同模型每层的功能定义以及颗粒度不同,例如: ...
- Java setAccessible方法作用
在Java中可以通过反射进行获取实体类中的字段值,当未设置Field的setAccessible方法为true时,会在调用的时候进行访问安全检查,会抛出IllegalAccessException异常 ...