Android Monkey之script脚本--编写和运行
来源:互联网 发布:2017淘宝新店扶持多久 编辑:程序博客网 时间:2024/06/05 11:49
官方介绍:http://img.blog.csdn.net/20150915155557302
Android源码:
development/cmds/monkey/src/com/android/commands/monkey/MonkeySourceScript.java
注释掉的部分:
/*** monkey event queue. It takes a script to produce events sample script format:** <pre>* type= raw events* count= 10* speed= 1.0* start data >>*captureDispatchPointer(5109520,5109520,0,230.75429,458.1814,0.20784314,0.06666667,0,0.0,0.0,65539,0)* captureDispatchKey(5113146,5113146,0,20,0,0,0,0)* captureDispatchFlip(true)* ...* </pre>*/
注:
type指明类型
count说明执行次数,但是这里改成任何值都执行一次,monkey命令可以指定执行次数,这里也就无所谓了
speed命令执行速率。改动无影响,可以通过monkey命令行指定。
以上三个参数改动都没什么影响,一般不做改动。start data >>相当于一个入口,说明脚本从下面开始执行
常用函数:
DispatchKey(downTime,eventTime,action,code,repeat,metaState,device,scancode)
@param long downTime //键最初被按下的时间
@param long eventTime //事件发生的时间
@param int action //(ACTION_DOWN=0,ACTION_UP=1,ACTION_MULTIPLE=2)
@param int code //键值,比如KEYCODE_DPAD_DOWN(20)
@param int repeat //
@param int metaState //当前按下的meta键的标识
@param int device //事件发生的设备id
@param int scancode //
DispatchPointer(downTime, eventTime,action, x, y, pressure, size, metaState, xPrecision,yPrecision,device, edgeFlags)
@param long downTime //键最初被按下的时间
@param long eventTime //事件发生的时间
@param int action //(ACTION_DOWN=0,ACTION_MOVE=1,ACTION_UP=2,ACTION_CANCEL=3)
@param float x //x坐标
@param float y //y坐标
@param float pressure //当前事件的压力,范围0-1
@param float size //触摸的近似值,范围0-1
@param int metaState //当前按下的meta键的标识
@param float xPrecision //x坐标精确值
@param float yPrecision //y坐标精确值
@param int device //事件来源,范围0-x,0表示不来自物理设备
@param int sedgeFlags //
DispatchTrackball(downTime, eventTime,action, x, y, pressure, size, metaState, xPrecision,yPrecision,device, edgeFlags)
Tap(x,y,duration);
DispatchPress(String key_name)
DispatchFlip(boolean keyboardOpen)
UserWait(long sleeptime)
LaunchActivity(String pkg_name, String cl_name,long alarmTime)
UserWait(long sleeptime)
LongPress()
命令:adb shell monkey -f sdcard/XXX.script 1 其中1为执行脚本次数。
如果加log的话:
adb shell monkey -v -v -v -f sdcard/XXX.script 1
key值介绍
- 1
- 1
附件:
系统应用包名:
com.android.settings.AccessibilitySettings 辅助功能设置com.android.settings.ActivityPicker 选择活动com.android.settings.ApnSettings APN设置com.android.settings.ApplicationSettings 应用程序设置com.android.settings.BandMode 设置GSM/UMTS波段com.android.settings.BatteryInfo 电池信息com.android.settings.DateTimeSettings 日期和时间设置com.android.settings.DateTimeSettingsSetupWizard 日期和时间设置com.android.settings.DevelopmentSettings 应用程序设置=》开发设置com.android.settings.DeviceAdminSettings 设备管理器com.android.settings.DeviceInfoSettings 关于手机com.android.settings.Display 显示——设置显示字体大小及预览com.android.settings.DisplaySettings 显示设置com.android.settings.DockSettings 底座设置com.android.settings.IccLockSettings SIM卡锁定设置com.android.settings.InstalledAppDetails 语言和键盘设置com.android.settings.LanguageSettings 语言和键盘设置com.android.settings.LocalePicker 选择手机语言com.android.settings.LocalePickerInSetupWizard 选择手机语言com.android.settings.ManageApplications 已下载(安装)软件列表com.android.settings.MasterClear 恢复出厂设置com.android.settings.MediaFormat 格式化手机闪存com.android.settings.PhysicalKeyboardSettings 设置键盘com.android.settings.PrivacySettings 隐私设置com.android.settings.ProxySelector 代理设置com.android.settings.RadioInfo 手机信息com.android.settings.RunningServices 正在运行的程序(服务)com.android.settings.SecuritySettings 位置和安全设置com.android.settings.Settings 系统设置com.android.settings.SettingsSafetyLegalActivity 安全信息com.android.settings.SoundSettings 声音设置com.android.settings.TestingSettings 测试——显示手机信息、电池信息、使用情况统计、Wifi information、服务信息com.android.settings.TetherSettings 绑定与便携式热点com.android.settings.TextToSpeechSettings 文字转语音设置com.android.settings.UsageStats 使用情况统计com.android.settings.UserDictionarySettings 用户词典com.android.settings.VoiceInputOutputSettings 语音输入与输出设置com.android.settings.WirelessSettings 无线和网络设置
执行cmd命令:
import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;public class Command {// 执行命令public static void execCommand(String cmd) { InputStream ins = null; try { Process process = Runtime.getRuntime().exec(cmd); ins = process.getInputStream(); BufferedReader reader = new BufferedReader( new InputStreamReader(ins)); String line = null; while ((line = reader.readLine()) != null) { // 输出 System.out.println(line); } process.waitFor(); process.getOutputStream().close(); } catch (Exception e) { System.out.println(e.getMessage()); } }}
执行命令:
public class Test {
public static void main(String[] args) {
String test =”adb shell monkey -v -v -v -f sdcard/test.script 1”;
Command.execCommand(test);
}
}
test.script文件:(清空某个应用的数据)
type= raw eventscount= 1speed= 1.0 start data >> LaunchActivity(com.android.settings,com.android.settings.RunningServices);UserWait(800);captureDispatchPointer(0,0,0,100,500,0,0,0,0,0,0,0);captureDispatchPointer(1,1,1,100,500,0,0,0,0,0,0,0);UserWait(1000);captureDispatchPointer(0,0,0,773,1200,0,0,0,0,0,0,0);captureDispatchPointer(1,1,1,773,1200,0,0,0,0,0,0,0);UserWait(4000);captureDispatchPointer(0,0,0,540,1402,0,0,0,0,0,0,0);captureDispatchPointer(1,1,1,540,1402,0,0,0,0,0,0,0);UserWait(1000);captureDispatchPointer(0,0,0,773,1200,0,0,0,0,0,0,0);captureDispatchPointer(1,1,1,773,1200,0,0,0,0,0,0,0);UserWait(3000);
- Android Monkey之script脚本--编写和运行
- Android Monkey之script脚本
- Android monkey test 脚本的编写
- Android monkey test 脚本的编写
- Android monkey test 脚本的编写
- Android monkey test 脚本的编写
- Android monkey test 脚本的编写
- monkey离线运行之shell脚本实现
- (Android) Monkey script command
- android monkey script详情
- (Android) Monkey script command
- monkey脚本编写
- Powershell 编写和运行脚本
- Android Monkey --script的使用
- Monkey 随机脚本工具编写
- Android Monkey测试脚本
- Android Monkey测试脚本
- Android monkey测试脚本
- d3 API中文手册 3.x最后版
- Hbase REST操作Json格式
- electron快速开发使用到的ui
- onActivityResult中 requestCode 值错误
- 小窍门,扩展AddMissingComponent
- Android Monkey之script脚本--编写和运行
- 在eNSP通过云桥接到本机使用tftp服务器上传下载文件
- Android源码解析四大组件系列(四)---Activity启动详细流程
- Intellij IDEA 2016.3.5 注册激活破解
- django manage.py扩展自定义命令
- MySQL与Oracle函数对照
- MxCAD5.2 2017.2.23更新
- git diff 、git diff --cached 、git diff HEAD区别
- java中可变参数再学习