1. #导入模块;

 from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage

2. #连接当前设备,并返回一个MonkeyDevice对象;

 device = MonkeyRunner.waitForConnection()
if not device:
print "Please connect a device to start!"
else:
print "Start "

3. #安装Android包,注意,此方法返回的返回值为boolean,由此可以判断安装过程是否正常 ;

 device.installPackage('myproject/bin/MyApplication.apk')
device.removePackage ('com.example.android.notepad')
print ('卸载成功')
device.installPackage('ApiDemos.apk')
print ('安装成功')

4. #启动一个Activity;

 device.startActivity
(component='com.android.htccontacts/com.android.htccontacts.ContactsTabActivity')

5. #截图;

 result = device.takeSnapshot()
result.writeToFile(r'C:\MIUI.jpg','jpg')

6. #时延(秒);

 MonkeyRunner.sleep(3)

7. #滑动屏幕;

for i in range(1,70):
device.drag((250,850),(250,110),0.1,10) #开始,结束,持续时间,步骤 for i in range(1,70):
device.drag((250,110),(250,850),0.1,10)
MonkeyRunner.sleep(1)

8. #触击屏幕;

 device.touch(507,72,"DOWN_AND_UP")

9. #执行adb shell命令;

 device.shell("input text goup01")

按下HOME键  device.press('KEYCODE_HOME','DOWN_AND_UP')
按下BACK键  device.press('KEYCODE_BACK','DOWN_AND_UP')
按下下导航键     device.press('KEYCODE_DPAD_DOWN','DOWN_AND_UP')
按下上导航键     device.press('KEYCODE_DPAD_UP','DOWN_AND_UP')
按下OK键      device.press('KEYCODE_DPAD_CENTER','DOWN_AND_UP')

相应的按键对应的名称如下:

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

MonkeyRunner基本操作的更多相关文章

  1. Android 自己主动化測试(3)<monkeyrunner> 依据ID查找对象&touch&type (python)

    我在之前的两篇文章中用java来实现过 Android 自己主动化測试(1)怎样安装和卸载一个应用(java).Android 自己主动化測试(2)依据ID查找对象(java). 可是本质上都是用mo ...

  2. Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作

    一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...

  3. Android Notification 详解(一)——基本操作

    Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...

  4. Android Notification 详解——基本操作

    Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...

  5. 三、Redis基本操作——List

    小喵的唠叨话:前面我们介绍了Redis的string的数据结构的原理和操作.当时我们提到Redis的键值对不仅仅是字符串.而这次我们就要介绍Redis的第二个数据结构了,List(链表).由于List ...

  6. 二、Redis基本操作——String(实战篇)

    小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...

  7. 一、Redis基本操作——String(原理篇)

    小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照 ...

  8. Linq查询基本操作

    摘要:本文介绍Linq查询基本操作(查询关键字) - from 子句 - where 子句 - select子句 - group 子句 - into 子句 - orderby 子句 - join 子句 ...

  9. C++ map的基本操作和使用

    原文地址:http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可 ...

随机推荐

  1. mysql数据库:分表、多表关联、外键约束、级联操作

    一.分表.外键.级联.多对一 二.多对多 三.一对一 一.分表.外键.级联.多对一 将部门数据与员工数据放到同一张表中会造成 数据重复 结构混乱 扩展维护性差 需要分表 create table de ...

  2. libusb_bulk_transfer返回值不是0

    libusb_bulk_transfer返回值不是0 libusb_bulk_transfer返回值不是0libusb_bulk_transfer返回值不是0 ?????

  3. 最简单之安装hive

    一,安装模式介绍 Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景. a.内嵌模式(元数据保村在内嵌的derby种,允许一个会话链接,尝试多个会话链接时会报错) b.本地模式(本地安 ...

  4. 下载安装mysql-connector

    执行命令:python -m pip install mysql-connector 测试

  5. 【Share Code | HTML & CSS & Javascript】动画片段幻灯片

    [查看demo & 下载资源](https://zhaoshuquan.com/posts/15 介绍 本文使用"Pieces"库轻松实现动画片段幻灯片效果. 今天我们想向 ...

  6. WPF界面开发:DevExpress WPF在GridControl中固定行时处理时刻

    DevExpress广泛应用于ECM企业内容管理. 成本管控.进程监督.生产调度,在企业/政务信息化管理中占据一席重要之地.通过DevExpress WPF Controls,您能创建有着强大互动功能 ...

  7. puppet完全攻略(二)让puppet代码支持vim高亮显示

    puppet完全攻略(二)让puppet代码支持vim高亮显示 2012-06-10 13:33:01 标签:puppet viong puppet完全攻略 原创作品,允许转载,转载时请务必以超链接形 ...

  8. webpack 配置文件说明

    var path = require("path"); var webpack = require("webpack"); var HtmlwebpackPlu ...

  9. JQUERY动态绘制表格,实现动态添加一行,删除一行

    HTML部分 <table style="width: 100%;" id="TABYESTERDAY11"></table> < ...

  10. lombok使用及常用注解

    简介 大部分项目中都必不可少的包含数据库实体(Entity).数据载体(dto,dataObject),而这两部分都包含着大量的没有业务逻辑的setter.getter.空参构造,同时我们一般要复写类 ...