MonkeyRunner_运行脚本(一)
前提:环境已部署, 使用数据线连接上真机
一、使用cmd窗口单步执行monkeyrunner命令
打开cmd窗口,输入monkeyrunner (前提设置好环境变量);然后按照monkeyrunner常用命令一步一步执行即可

二、使用CMD窗口执行python文件
打开cmd窗口,输入monkeyrunner d:\mk\install.py 对python脚本文件执行

install.py文件内容如下:
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.waitForConnection()
MonkeyRunner.sleep(3)
device.removePackage('com.xxx.phone')
MonkeyRunner.sleep(2)
device.installPackage('d:\mk\xxxphone.apk')
MonkeyRunner.sleep(2) device.wake()
device.touch(800,1900,'DOWN_AND_UP')
MonkeyRunner.sleep(2)
device.startActivity(component="com.xxx.phone/com.xxx.phone.activity.WelcomeActivity")
MonkeyRunner.sleep(5)
device.wake()
device.drag((800,600),(400,600),0.1,10)
device.wake()
MonkeyRunner.sleep(2)
device.drag((800,600),(300,600),0.1,10)
MonkeyRunner.sleep(2)
device.touch(530,1600,'DOWN_AND_UP')
MonkeyRunner.sleep(3)
device.touch(331,545,'DOWN_AND_UP')
device.touch(331,1850,'DOWN_AND_UP')
print "install success!!"
三、MonkeyRunner 常用命令
//导入三模块
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
//连接设备,创建device对象,代表连接的手机,有两种连接方式:
device=MonkeyRunner.waitForConnection() //默认连接
device=MonkeyRunner.waitForConnection(1.0,’emulator-5554’) //参数连接
参数1:超时时间,单位秒。默认是无限期等待。
参数2:设备名称,默认为当前设备(手机优先,其次为模拟器)
//安装APK,成功则返回true
device.installPackage(‘d:\xxx.apk’)
//卸载APK,成功返回true
device.removePackage(‘xxx.apk’)
//启动APP
device.startActivity(component=”com.yjy.phone/com.yjy.phone,activity.WelcomeActivity”)
//拖拽
device.drag((x1,y1),(x2,y2),01,10)
参数:开始坐标,结束坐标,持续时间,步骤
//触摸 (x,y为坐标,单位像素)
device.touch(x,y,’DOWN_AND_UP’)
事件类型:(用于touch和press)
1、DOWN发送一个DOWN事件。指定DOWN事件类型发送到设备,对应的按一个键或触摸屏幕上。
2、UP发送一个UP事件。指定UP事件类型发送到设备,对应释放一个键或从屏幕上抬起。
3、DOWN_AND_UP发送一个DOWN事件,然后一个UP事件。对应于输入键或点击屏幕。
//按键
device.press(‘KEYCODE_HOME’,’DOWN_AND_UP’)
参数1:
|
home键 |
KEYCODE_HOME |
back键 |
KEYCODE_BACK |
|
send键 |
KEYCODE_CALL |
end键 |
KEYCODE_ENDCALL |
|
上导航键 |
KEYCODE_DPAD_UP |
ok键 |
KEYCODE_DPAD_CENTER |
|
下导航键 |
KEYCODE_DPAD_DOWN |
power键 |
KEYCODE_POWER |
|
左导航 |
KEYCODE_DPAD_LEFT |
camera键 |
KEYCODE_CAMERA |
|
右导航 |
KEYCODE_DPAD_RIGHT |
上音量键 |
KEYCODE_VOLUME_UP |
|
menu键 |
KEYCODE_MENU |
下音量键 |
KEYCODE_VOLUME_DOWN |
//唤醒设备
device.wake()
//输入字符串
device.type(‘abc’)
//截屏保存
result=device.takeSnapshot()
result.writeToFile(‘d:/result1.png','png') //保存电脑本地
//执行一个adb shell命令,并返回结果,如果有的话
device.shell("adb monkey --help")
//重启设备
device.reboot()
//延时
MonkeyRunner.sleep(5)
//打印
print”abc”
//monkeyrunner的退出:
ctrl+d
MonkeyRunner_运行脚本(一)的更多相关文章
- nodejs安装/运行脚本
本文主要介绍nodejs在windows下安装及运行脚本. 安装nodejs 先从nodejs官网:http://nodejs.org/下载对应的系统的安装包,比如用于64位系统的最新0.10.21的 ...
- pycharm运行脚本为何不生成测试报告?
今日使用python+selenium编写自动化测试脚本并执行过程中,使用pycharm运行结果后发现脚本运行无报错,脚本中的操作也正常被执行,但就是没有生成测试报告. 为什么呢,为什么呢,生成测试报 ...
- linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本
红帽系列的 linux软件管理分为三类:1. rpm 安装软件.2. yum 安装软件.3. 源码包编译安装.前面两种会在相关专题给出详细讲解.源码包的编译安装是非常关键的,我们知道linux的相关版 ...
- 在shell中运行以不同方式运行脚本
在shell当中,可以有3中方式运行脚本: 1 . ./script_name 或者source ./script_name 2 直接./script_name 3 ./script_name &am ...
- mysql下怎样运行脚本
假设要运行脚本: F:\hello world\niuzi.sql 第一种方法: 在命令行下(未连接数据库),输入 mysql -h localhost -u root -p < ...
- 定时器解决js长时间运行脚本问题
一般地,单个js操作的运行时间不应超过100毫秒,否则的话,会影响用户体验,用户会认为自己与界面失去联系.而对于一些复杂的任务,可能无法在100ms内完成,甚至会突破浏览器限制(调用栈大小限制和长时间 ...
- 基于Django的独立运行脚本开发
1.在Django框架下工作时间长了,会对Django的技术设施产生依赖,比如其方便的ORM,如果写基于Django的独立运行脚本,主要在脚本前面加上以下代码: import sys,os,djang ...
- Oracle12c中多宿主容器数据库(CDBs)和可插拔数据库(PDBs)新特性之运行脚本
对开发者和DBA们来说,对shell脚本批量任务的影响成了多宿主选项带来的最大改变之一.因为多宿主环境通过服务来连接到可插拔数据库,因此,依靠CRON和OS认证成了换成多宿主环境后的一个最大问题.本文 ...
- cross-env 兼容跨平台运行脚本
https://www.npmjs.com/package/cross-env 跨平台运行脚本 The problem Most Windows command prompts will choke ...
随机推荐
- How can I get the baseurl of site?
string baseUrl = Request.Url.Scheme + "://" + Request.Url.Authority +Request.ApplicationPa ...
- Hdg Remote Debug
https://www.assetstore.unity3d.com/en/#!/content/61863 https://forum.unity.com/threads/hdg-remote-de ...
- 16解释器模式Interpreter
一.什么是解释器模式 Interpreter模式也叫解释器模式,是行为模式之一,它 是一种特殊的设计模式,它建立一个解释器,对于特定 的计算机程序设计语言,用来解释预先定义的文法.简 单地说,Inte ...
- Rsync实现多台Windows工作电脑文件同步
你要准备的软件有: 最新版 Rsync for windows 服务端:cwRsync_Server_2.1.5_Installer.zip 客户端:cwRsync_2.1.5_Installer.z ...
- Django读取Mysql数据并显示在前端
一.首先按添加网页的步骤添加网页,我的网页名为table.html, app名为web table.html放到相应目录下, froms文件提前写好 修改views.py ? 1 2 3 4 5 6 ...
- 【netcore基础】MVC API接口权限控制Attribute
效果: 通过Attribute来简单控制某个方法的访问权限 例如: 下面api只能角色id是[001,002,999]的登录用户才能访问 /// <summary> /// 管理用户列表 ...
- Win7/Win8安装"我们无法创建新的分区,也找不到现有的分区"的解决方法
如果你用pe启动光盘和pe启动盘.加载iso安装时遇到"我们无法创建新的分区,也找不到现有的分区"的情况.. 把iso里的boot和bootgmr以及sources复制到c盘,pe ...
- Git版本控制工具的简单使用
1.下载gitd客户端,注册github账号. 2.本地生成公钥和私钥,并将公钥粘贴到github上,测试连接. 3.先pull,从远程服务器中下载项目文件,然后再pushi,提交至服务器. 4. g ...
- hadoop 使用ip配置导致hdfs启动失败
dataNode 有守护进行,但hdfs web页面上显示没有live node. 错误日志: 2017-06-21 17:44:59,513 ERROR org.apache.hadoop.hdfs ...
- linux下安装cmake(安装opencv库)
apt-get install cmake cmake --version(显示版本号) cmake-gui(打开gui界面) 如果打不该GUI界面时候就需要apt-get install cmake ...