微博不给力啊 吞我笔记,还好我有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端执行和手机端执行的更多相关文章

  1. 利用ddmlib 实现 PC端与android手机端adb forword socket通信(转)

    上篇文章讲了PC与android手机连接的办法 ,通过java调用系统命令执行adb命令操作,实际上是一个比较笨的办法. 网上查阅资料,发现google 提供了ddmlib库 (adt-bundle\ ...

  2. PHP判断客户端是PC web端还是移动手机端方法

    PHP判断客户端是PC web端还是移动手机端方法需要实现:判断手机版的内容加上!c550x260.jpg后缀变成缩略图PHP用正则批量替换Img中src内容,用正则表达式获取图片路径实现缩略图功能 ...

  3. pc端前端和手機端區別

    1.pc端寬度比較固定,手機端可以橫屏或者豎屏: 2.pc端不需要處理手機觸摸,而手機端需要: 3.pc端不需要處理鍵盤事件: 3.pc的瀏覽器內核很多,手機端基本上是webkit或者是基於webki ...

  4. Ajax在PC端可以使用但在手机端不能使用

    ajax代码如下,仔细看看也没有什么错,电脑端可以调用并正确的返回结果,手机端却不可以 function GetSumData(time) { var device = "Phone&quo ...

  5. 我要多开梦幻手游PC端(梦幻手游PC端多开的简单分析及实现办法)(二)

    上一篇,多开方法,适用于一年前的版本 http://www.cnblogs.com/suanguade/p/5646776.html 前言: 一转眼一年过去了,日子越来越无聊了,于是,准备再玩一玩梦幻 ...

  6. PHP判断客户端是PCweb端还是移动手机端方法

    /** * * 根据php的$_SERVER['HTTP_USER_AGENT'] 中各种浏览器访问时所包含各个浏览器特定的字符串来判断是属于PC还是移动端 * @author discuz3x * ...

  7. PC端网站跳转手机端网站

    <SCRIPT LANGUAGE="JavaScript"> function mobile_device_detect(url) { var thisOS=navig ...

  8. 移动端适配(手机端rem布局详解)

    1. 问题的引出 如果html5要适应各种分辨率的移动设备,应该使用rem这样的尺寸单位,同时给出了一段针对各个分辨率范围在html上设置font-size的代码: html{font-size:10 ...

  9. 手机端页面访问PC页面自动跳手机端代码

    <script> var mobileAgent = new Array("iphone", "ipod", "ipad", & ...

随机推荐

  1. Http请求笔记

    1 HTTP请求报文组成: 请求行:请求方法 url 协议版本 请求头:报文头-属性名:属性值 Accept属性告诉服务端-客户端接受什么类型的响应,可为一个或多个mime类型值 Cookie:服务端 ...

  2. adoquery怎样判断数据在缓存中有修改啊

    ADOQry.Filtered:=false;       ADOQry.Filtered:=true;       ADOQry.FilterGroup:=fgPendingRecords ;Fil ...

  3. 猜数字游戏 在控制台运行--java详解!了;来玩

    import java.util.Scanner;//导入包 import java.util.Scanner; 注意格式 符号的使用 public class Demo{ //猜数字游戏 练习 pu ...

  4. Nginx 对上游使用SSL链接

    L96 双向认证SSL指令示列 对下游使用证书指令 Syntax: ssl_certificate file; Default: — Context: http, server Syntax: ssl ...

  5. 【Tensorflow】Tensorflow入门教程

    基本使用 使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来表示计算任务. 在被称之为 会话 (Session) 的上下文 (context) 中执行图. 使 ...

  6. python模块psutil的使用

    介绍 psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要应用于系统 ...

  7. BZOJ2281[Sdoi2011]黑白棋&BZOJ4550小奇的博弈——DP+nimk游戏

    题目描述 小A和小B又想到了一个新的游戏. 这个游戏是在一个1*n的棋盘上进行的,棋盘上有k个棋子,一半是黑色,一半是白色. 最左边是白色棋子,最右边是黑色棋子,相邻的棋子颜色不同. 小A可以移动白色 ...

  8. BZOJ3223文艺平衡树——非旋转treap

    此为平衡树系列第二道:文艺平衡树您需要写一种数据结构,来维护一个有序数列,其中需要提供以下操作: 翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1 ...

  9. C# 两个类是否继承关系

    IsAssignableFrom:确定指定类型的实例是否可以分配给当前类型的实例 B继承自A static void Main(string[] args) { Type a = typeof(A); ...

  10. springMVC整理05--数据校验、格式化 & 其他注解 & 数据绑定流程

    1.  数据校验.数据格式化 参考博客 http://www.importnew.com/19477.html 1.1  数据校验 使用 spring 数据校验,先要导入校验器的 jar: <! ...