目录:

  •   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)常用命令的更多相关文章

  1. 一张图学习vim常用命令

    一张图学习vim常用命令

  2. goland学习-go常用命令使用

    goland学习-go常用命令使用 1.跨平台编译:env GOOS=linux GOARCH=amd64 go build 2.获取go第三方包:go get -u github.com/go-sq ...

  3. Redis学习笔记--常用命令

    以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...

  4. Linux_学习_01_常用命令大全

    一.文件目录 1.列出目录 ls -a #显示隐藏文件 -l #显示文件和目录的详细资料 -h -lrt tree #显示文件和目录由根目录开始的树形结构 lstree #显示文件和目录由根目录开始的 ...

  5. Git学习 --> 个人常用命令add,commit以及push

    Git命令行配置1 安装Github2 安装msysgit3 要配置用户名和油箱  git config --global user.name <用户名> 我的命令就是:git confi ...

  6. Hexo学习笔记--常用命令及部署步骤

    参考资料: Hexo搭建Github静态博客:http://www.cnblogs.com/zhcncn/p/4097881.htmlHexo:独立博客新玩法:http://www.aips.me/h ...

  7. SQL学习笔记---常用命令

    常用命令 变量 1.声明 declare @变量名 类型,… 2.赋值 1.同时赋值多个变量(可以结合查询) select @变量名=表达式1,表达式2 2.单个赋值(推荐) set @变量名=表达式 ...

  8. Redis 学习之常用命令及安全机制

    该文使用centos6.5 64位    redis3.2.8 一.redis常用命令 键值常用命令: 1. keys 返回满足pattern的所有key. 127.0.0.1:6379> ke ...

  9. ionic学习笔记—常用命令

    Ionic CLI介绍 Ionic CLI是开发Ionic应用程序过程中使用的主要工具.它就像一个瑞士军刀:它在一个界面下汇集了大量工具. CLI包含许多对Ionic开发至关重要的命令,例如start ...

  10. docker学习笔记(1)概述、原理学习、常用命令

    一.Docker概述 Docker是基于Go语言实现的云开源项目,诞生于2013年初,目前主流的Linux操作系统已支持Docker,如Redhat RHEL6.5/CentOS6.5.Ubuntu ...

随机推荐

  1. 错误: 找不到或无法加载主类 Files\apache-activemq-5.10.0\bin\..\conf\login.config

    在启动activemq的时候出现错误:“错误: 找不到或无法加载主类 Files\apache-activemq-5.10.0\bin\..\conf\login.config”,之前用activem ...

  2. shell十三问:关于${0##*/} 和${0%/*}

    转自shell十三问:  http://bbs.chinaunix.net/thread-218853-1-1.html …… 假設我們定義了一個變量為:file=/dir1/dir2/dir3/my ...

  3. python :eval将字符串转换成字典

    #将字符串打印成字典 b=''' {'record': {'weight':20,'server':'100.1.7.9','maxconn':50},'backend': 'www.oldboy.o ...

  4. 手把手教你修改iOS版QQ的运动步数

    手把手教你修改iOS版QQ的运动步数 现在很多软件都加上了运动模块,比如QQ和微信,而且还有排行榜,可以和好友比较谁的运动步数多,任何东西只要添加了比较功能,就变得不一样了.今天教大家用代码去修改QQ ...

  5. Android:onNewIntent()触发机制及注意事项

    一.onNewIntent() 在IntentActivity中重写下列方法:onCreate onStart onRestart  onResume  onPause onStop onDestro ...

  6. HTTP断点续传的基本原理

    转自:http://blog.csdn.net/sendy888/article/details/1719105 断点续传是我们现在经常接触的概念,那么HTTP协议是如何支持断点续传的呢.我们先从一个 ...

  7. eclipse 智能提示

    eclipse 智能提示 1.显示行号 2.android 的xml提示 文本框的内容为: <=:.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU ...

  8. 【SQL】SQL中笛卡尔积、内连接、外连接的数据演示

    SQL的查询语句中,常使用到内连接.外连接,以及连接的基础--笛卡尔积运算. 在简单的SQL中,也许我们还分辨清楚数据如何连接,一旦查询复杂了,脑子也犯浆糊了,迷迷糊糊的. 本文,简单以数据形式记录连 ...

  9. 我的android学习经历14

    LinearLayout线性布局中gravity和Layout_gravity的解释 这两个都是说明对齐方式的.‘ gravity说明的是子控件的对齐方式,比如把gravity写在LinearLayo ...

  10. CronTrigger:Corn表达式

    定时触发 CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表.C ...