MonkeyRunner学习(2)常用命令
目录:
- 1.截图
- 2.暂停 (时延秒)
- 3.屏幕操作
- 4.打印
- 5.字符串发送到键盘输入(登录输入)
- 6.唤醒设备屏幕
- 7.重起手机
- 8.按键(系统键)
- 9.回车键
- 10.for 循环
- 11.循环截图命名
- 12.时间命名(.py文件中)
- 13.if判断(.py文件中)
1.截图
获取设备的屏蔽缓冲区,产生了整个显示器的屏蔽捕获
命令 :>>> result=device.takeSnapshot()
返回一个MonkeyImage对象(点阵图包装),我们可以用以下命令将图保存到指定文夹里,
比如:在F盘下有一个img文件夹,输入命令回车显示为true后可以在shot文件夹找到刚才截的图
命令:>>> result.writeToFile('F:/img/1.png','png')
2.暂停 (时延秒)
暂停目前正在运行的程序指定的秒数
命令:>>> MonkeyRunner.sleep(5)
3.屏幕操作
滑动屏幕;
命令:>>> device.drag((180,180),(600,600),0.1,10)
# device.drag(X,Y,D,S)
# X 开始坐标 #Y 结束坐标 #D 拖动持续时间(以秒为单位),默认1.0秒 #S 插值点时要采取的步骤。默认值是10
连续滑动屏幕;
命令:>>> for i in range(1,4): device.drag((180,180),(600,600),0.1,10)
触击屏幕;
命令:>>> device.touch(408,66,"DOWN_AND_UP")
#device.touch(x,y,触摸事件类型)
#x,y的单位为像素
触摸事件类型,请见下文中Findyou对device.press描述
4.打印
命令:>>> print"insert login"
命令行中输出
5.字符串发送到键盘输入(登录输入)
#device.type('字符串'),例如:
命令:>>> device.type('longshan')
命令:>>> device.type('Findyou')
命令:>>> device.type('123456')
6.唤醒设备屏幕
#锁屏后,屏幕关闭,可以用下命令唤醒
命令:>>> device.wake()
7.重起手机
命令:>>> device.reboot()
8.按键(系统键)
#device.press(参数1:键码,参数2:触摸事件类型) #参数1:见android.view.KeyEvent
#参数2,如有TouchPressType()返回的类型-触摸事件类型,有三种。
#1、DOWN 发送一个DOWN事件。指定DOWN事件类型发送到设备,对应的按一个键或触摸屏幕上。
#2、UP 发送一个UP事件。指定UP事件类型发送到设备,对应释放一个键或从屏幕上抬起。
#3、DOWN_AND_UP 发送一个DOWN事件,然后一个UP事件。对应于输入键或点击屏幕。
以上三种事件做为press()参数或touch()参数
#按下HOME键
device.press('KEYCODE_HOME',MonkeyDevice.DOWN_AND_UP)
#按下BACK键
device.press('KEYCODE_BACK',MonkeyDevice.DOWN_AND_UP)
#按下下导航键
device.press('KEYCODE_DPAD_DOWN',MonkeyDevice.DOWN_AND_UP)
#按下上导航键
device.press('KEYCODE_DPAD_UP',MonkeyDevice.DOWN_AND_UP)
#按下OK键
device.press('KEYCODE_DPAD_CENTER',MonkeyDevice.DOWN_AND_UP)
KeyCode:
home键 KEYCODE_HOME
back键 KEYCODE_BACK
send键 KEYCODE_CALL
end键 KEYCODE_ENDCALL
上导航键 KEYCODE_DPAD_UP
下导航键 KEYCODE_DPAD_DOWN
左导航 KEYCODE_DPAD_LEFT
右导航键 KEYCODE_DPAD_RIGHT
ok键 KEYCODE_DPAD_CENTER
上音量键 KEYCODE_VOLUME_UP
下音量键 KEYCODE_VOLUME_DOWN
power键 KEYCODE_POWER
camera键 KEYCODE_CAMERA
menu键 KEYCODE_MENU
9.回车键
命令:>>> device.press('KEYCODE_ENTER')
10.for 循环
命令:>>> for i in range(5,10): print(i)
就是大于等于5,小于10
打印结果5、6、7、8、9
11.循环截图命名
命令:>>> result=device.takeSnapshot()
命令:>>> for i in range(1,4):result.writeToFile('F:/img/'+str(i)+'.png','png')
12.时间命名(.py文件中)
命令:>>> t = time.strftime("%Y-%m-%d-%X",time.localtime()) t = t.replace(":","-")
命令:>>> result=device.takeSnapshot()
命令:>>> result.writeToFile('F:/img/'+t+'.png','png')
13.if判断(.py文件中)
if(device):
print"device is OK"
else:
print"device is ...Please...退出"
sys.exit(1)
MonkeyRunner学习(2)常用命令的更多相关文章
- 一张图学习vim常用命令
一张图学习vim常用命令
- goland学习-go常用命令使用
goland学习-go常用命令使用 1.跨平台编译:env GOOS=linux GOARCH=amd64 go build 2.获取go第三方包:go get -u github.com/go-sq ...
- Redis学习笔记--常用命令
以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...
- Linux_学习_01_常用命令大全
一.文件目录 1.列出目录 ls -a #显示隐藏文件 -l #显示文件和目录的详细资料 -h -lrt tree #显示文件和目录由根目录开始的树形结构 lstree #显示文件和目录由根目录开始的 ...
- Git学习 --> 个人常用命令add,commit以及push
Git命令行配置1 安装Github2 安装msysgit3 要配置用户名和油箱 git config --global user.name <用户名> 我的命令就是:git confi ...
- Hexo学习笔记--常用命令及部署步骤
参考资料: Hexo搭建Github静态博客:http://www.cnblogs.com/zhcncn/p/4097881.htmlHexo:独立博客新玩法:http://www.aips.me/h ...
- SQL学习笔记---常用命令
常用命令 变量 1.声明 declare @变量名 类型,… 2.赋值 1.同时赋值多个变量(可以结合查询) select @变量名=表达式1,表达式2 2.单个赋值(推荐) set @变量名=表达式 ...
- Redis 学习之常用命令及安全机制
该文使用centos6.5 64位 redis3.2.8 一.redis常用命令 键值常用命令: 1. keys 返回满足pattern的所有key. 127.0.0.1:6379> ke ...
- ionic学习笔记—常用命令
Ionic CLI介绍 Ionic CLI是开发Ionic应用程序过程中使用的主要工具.它就像一个瑞士军刀:它在一个界面下汇集了大量工具. CLI包含许多对Ionic开发至关重要的命令,例如start ...
- docker学习笔记(1)概述、原理学习、常用命令
一.Docker概述 Docker是基于Go语言实现的云开源项目,诞生于2013年初,目前主流的Linux操作系统已支持Docker,如Redhat RHEL6.5/CentOS6.5.Ubuntu ...
随机推荐
- Symfony电子商务
http://zhilihe.com/content/symfony%E7%94%B5%E5%AD%90%E5%95%86%E5%8A%A1%E9%A1%B9%E7%9B%AE%E6%80%BB%E7 ...
- 求两个数的最大公约数(Java)
获得两个随机数(100以内),并放入数组中 public int[] getTwoRandom(){ int[] t = new int[2]; Random rand = new Random(); ...
- 6.shap以及selector的使用
功能:相当于自定义一个模板 首先,要新建一个drawble文件夹 然后,再新建一个XML文件 在<shap></shap>中写内容 <corners/>圆角 < ...
- 【转】Tomcat调优指南
转载地址:http://blog.csdn.net/woohooli/article/details/3954792 1 概述 本文档主要介绍了Tomcat的性能调优的原理和方法.可 ...
- poj2482 Stars in Your Window
此题可用线段树或静态二叉树来做. 考虑用线段树: 很容易想到先限定矩形横轴范围再考虑在此纵轴上矩形内物品总价值的最大值. 那么枚举矩形横轴的复杂度是O(n)的,考虑如何快速获取纵轴上的最大值. 我们不 ...
- hdu 3826
Squarefree number Time Limit: 10000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- CodeForces 651B Beautiful Paintings 贪心
A. Joysticks time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- SqlSever基础 where 与 group by组合起来 处理数据
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- ruby学习总结02
1.条件判断(nil或alse为假,其他值均为真) 1.if语句 if/elsif/else/end 条件成立时执行相关操作 2.unless语句 unless/else/end 条件 ...
- 编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法void printCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然 后写一个类Print实现接口InterfaceA和InterfaceB,最后再在主类E 的main方法中创建Print的对象并赋值,运行方法
package lianxi; public interface InterfaceA { void printCapitalLetter(); } package lianxi; public in ...