TODO monkey笔记,PC端执行和手机端执行
微博不给力啊 吞我笔记,还好我有txt。。。
1、环境准备:安装Android sdk,
配置环境变量:platfrom_tools,tools,aapt;java;
2、查询当前apk信息: aapt dump badging XXXX.apk
apk包名:
package: name='tv.fuzegame.fuzegameplus' versionCode='12' versionName='1.0.0'
启动界面:
launchable-activity: name='tv.fuzegame.fuzegameplus.ui.activities.HomeActivity' label='鎴樻枾娓告垙+' icon=''
3、编辑monkey脚本:执行XX应用1k次;
adb shell monkey -v -v -p tv.fuzegame.fuzegameplus 1000
执行XX应用1k次,间隔时间200ms
adb shell monkey -v -v -p tv.fuzegame.fuzegameplus --throttle 200 1000
4、如果有错误,可以重复执行时间序列
adb shell monkey -v -v -p tv.fuzegame.xxx -s 123456 1000
日志在G:\Monkey\20160526(bat批处理文件的同个文件夹内)log.txt中,有seed
adb shell monkey -p tv.fuzegame.fuzegameplus --throttle 20 1000"
:Monkey: seed=1465356797604 count=1000
5、查看签名:
1、将apk放在文件夹G:\1下
2、打开1文件夹,执行语句:jar -xf [apk的meta-inf文件(可以将apk的后缀改成zip,将RSA文件拖出来)]
3、执行语句 keytool -printcert -file XXXXXXXX.RSA
eg:
C:\Users\Administrator>g:
G:\>cd 1
G:\1>jar -xf G:\1\FuzeApp-release.apk META-INF
G:\1>REN META-INF FuzeApp-release_META-INF
G:\1>keytool -printcert -file G:\1\FuzeApp-release_META-INF\CERT.RSA
6、安全检查,当前apk是否处于debug版本
查找 debug XXX true
对tv.fuzegame.xxx发送1000次随机事件,每次间隔100毫秒
adb shell monkey -v -v -p tv.fuzegame.xxx --throttle 100 1000
对tv.fuzegame.xxx快速发送1000次随机事件
adb shell monkey -v -v -p tv.fuzegame.xxx 1000
对tv.fuzegame.xxx重复上次123456事件序列,发送1000次随机事件
adb shell monkey -v -v -p tv.fuzegame.xxx -s 123456 1000
二、参数解释
monkey 启动的命令行脚本格式: monkey [options] <count>
其中options表示monkey执行的可配置参数,是可选项。
基本配置:
-v :表示反馈信息的级别,每增加一个-v,monkey日志反馈信息的级别会对应增加一个level
e.g -v 除启动提示、测试完成和最终结果外,提供较少信息;
-v -v 提供较为详细的测试信息,如逐个发送到activity的事件
-v-v-v 提供更详细的测试信息,包括未被选中的activity
事件类型:
太多了懒得一一列出来,操作延迟、触摸、缩放、系统按键、键盘等等
e.g
1.-s<seed> ,重复跑一遍之前的某个事件,(每一次执行都会自动生成一个序列,如果出现问题,就拎出这个序列 撸一遍)
2. --throttle ,设置操作间隔,更贴近用户实际使用情况;
约束限制类型:
-p 限定只在哪个/哪几个package里面瞎搞;
-c 不知道什么玩意。。。
调试类参数:
一大堆啊懒得列了
e.g
--ignore-crashes 无视crash
--ignore-timeouts 无视timeouts
官方隐藏类
e.g
--pkg-blacklist-file <黑名单文件>
--pkg-whitelist-file <白名单文件>
1.编辑脚本:monkeyscript.txt
#启动测试
type = user
count = 49
speed = 1.0
start data >>
LaunchActivity(com.tencent.android.qqdownloader,com.tencent.assistant.activity.SplashActivity)
UserWait(2000)
Tap(463,150,1000)
UserWait(2000)
DispatchString(yyb)
UserWait(2000)
Tap(960,150,1000)
DispatchPress(KEYCODE_BACK)
2. 传入手机
adb push D:\monkeyscript.txt /sdcard/
3.执行
adb shell monkey -f /sdcard/monkeyscript.txt -v 10 >d:\monkey.txt
4.查看d盘的日志
存疑,似乎不能自动启动应用
TODO monkey笔记,PC端执行和手机端执行的更多相关文章
- 利用ddmlib 实现 PC端与android手机端adb forword socket通信(转)
上篇文章讲了PC与android手机连接的办法 ,通过java调用系统命令执行adb命令操作,实际上是一个比较笨的办法. 网上查阅资料,发现google 提供了ddmlib库 (adt-bundle\ ...
- PHP判断客户端是PC web端还是移动手机端方法
PHP判断客户端是PC web端还是移动手机端方法需要实现:判断手机版的内容加上!c550x260.jpg后缀变成缩略图PHP用正则批量替换Img中src内容,用正则表达式获取图片路径实现缩略图功能 ...
- pc端前端和手機端區別
1.pc端寬度比較固定,手機端可以橫屏或者豎屏: 2.pc端不需要處理手機觸摸,而手機端需要: 3.pc端不需要處理鍵盤事件: 3.pc的瀏覽器內核很多,手機端基本上是webkit或者是基於webki ...
- Ajax在PC端可以使用但在手机端不能使用
ajax代码如下,仔细看看也没有什么错,电脑端可以调用并正确的返回结果,手机端却不可以 function GetSumData(time) { var device = "Phone&quo ...
- 我要多开梦幻手游PC端(梦幻手游PC端多开的简单分析及实现办法)(二)
上一篇,多开方法,适用于一年前的版本 http://www.cnblogs.com/suanguade/p/5646776.html 前言: 一转眼一年过去了,日子越来越无聊了,于是,准备再玩一玩梦幻 ...
- PHP判断客户端是PCweb端还是移动手机端方法
/** * * 根据php的$_SERVER['HTTP_USER_AGENT'] 中各种浏览器访问时所包含各个浏览器特定的字符串来判断是属于PC还是移动端 * @author discuz3x * ...
- PC端网站跳转手机端网站
<SCRIPT LANGUAGE="JavaScript"> function mobile_device_detect(url) { var thisOS=navig ...
- 移动端适配(手机端rem布局详解)
1. 问题的引出 如果html5要适应各种分辨率的移动设备,应该使用rem这样的尺寸单位,同时给出了一段针对各个分辨率范围在html上设置font-size的代码: html{font-size:10 ...
- 手机端页面访问PC页面自动跳手机端代码
<script> var mobileAgent = new Array("iphone", "ipod", "ipad", & ...
随机推荐
- 解决mybatis generator警告Cannot obtain primary key information from the database, generated objects may be incomplete
使用 mybatis generator 生成pojo.dao.mapper时 经常出现 Cannot obtain primary key information from the database ...
- (转载)C#使用MemoryStream类读写内存
MemoryStream和BufferedStream都派生自基类Stream,因此它们有很多共同的属性和方法,但是每一个类都有自己独特的用法.这两个类都是实现对内存进行数据读写的功能,而不是对持久性 ...
- HDU4624 Endless Spin 【最大最小反演】【期望DP】
题目分析: 题目是求$E(MAX_{i=1}^n(ai))$, 它等于$E(\sum_{s \subset S}{(-1)^{|s|-1}*min(s))} = \sum_{s \subset S}{ ...
- day5 range 用法示例
函数语法 range(start, stop[, step]) 参数说明: start: 计数从 start 开始.默认是从 0 开始.例如range(5)等价于range(0, 5); stop: ...
- MT【304】反射路径长度比
(高考压轴题改编)如图,长方体$ABCD-A_1B_1C_1D_1$中,$AB=11,AD=7,AA_1=12.$一质点从顶点$A$设向$E(4,3,12)$遇到长方体的面反射(服从光的反射原理),将 ...
- LA3490 Generator(KMP + 高斯消元)
题意 一开始给你一个长为 \(S\) 的字符串. 从空串开始,不断在后面添加一个 \([A, A + n]\) 的一个字符. 第一次包含 \(S\) 的时候会停止添加.问期望的添加次数. 有 \(T\ ...
- Hdoj 1392.Surround the Trees 题解
Problem Description There are a lot of trees in an area. A peasant wants to buy a rope to surround a ...
- 深度分析Java的枚举类型—-枚举的线程安全性及序列化问题
原文:深度分析Java的枚举类型--枚举的线程安全性及序列化问题 枚举是如何保证线程安全的 要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和clas ...
- 【BZOJ5287】[HNOI2018]毒瘤(动态规划,容斥)
[BZOJ5287][HNOI2018]毒瘤(动态规划,容斥) 题面 BZOJ 洛谷 题解 考场上想到的暴力做法是容斥: 因为\(m-n\le 10\),所以最多会多出来\(11\)条非树边. 如果就 ...
- 51NOD1174 区间最大数 && RMQ问题(ST算法)
RMQ问题(区间最值问题Range Minimum/Maximum Query) ST算法 RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度 ...