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. Zabbix 监控Windows磁盘IO

    Windows下,打开cmd输入 typeperf -qx > c:\typeperf.txt #打开c:\typeperf.txt文件 windows性能计数器里面包含windows相关数值 ...

  2. 学习使用C语言实现线性表

    线性表是最常用且最简单的一种数据结构.一个线性表是n个数据元素的有限序列,序列中的每个数据元素,可以是一个数字,可以是一个字符,也可以是复杂的结 构体或对象.例如:1,2,3,4,5是一个线性表,A, ...

  3. maven将本地jar包引入本地maven仓库命令

    一.maven安装命令.cmd窗口,idea中均可 mvn install:install-file -Dfile=F:\coding2pay\pay\lib/wxpay-sdk-.jar -Dgro ...

  4. 集合(七) Set—HashSet,TreeSet和LinkedHashSet

    四.Set Set和List一样,也是继承Collection的接口,但Set是不包含重复元素的集合.由于先啃下Map,Set的难度将会大幅减小.因为Set基本上都是以Map为基础实现的,例如两个主要 ...

  5. elementUI + vue 输入框只能输入正整数 不能输入字母 e 以及+ - 号

    <el-input :inline="true" v-model="dialogForm.closeTime" onKeypress="retu ...

  6. 【JZOJ5603】【NOI2018模拟3.27】Xjz

    题目描述 给定字符串 S 和 T. 串A和串B匹配的定义改为:存在一个字符的映射,使得A应用这个映射之后等于B,且这个映射必须为一个排列. A=121, B=313,当映射为{1->3, 2-& ...

  7. js 获取两个数组的交集,并集,补集,差集

    https://blog.csdn.net/piaojiancong/article/details/98199541 ES5 const arr1 = [1,2,3,4,5], arr2 = [5, ...

  8. 给PS添加ICO格式文件

    为什么你的ps不能直接打开favicon.ico文件呢?因为你没有安装识别ico的格式插件. 安装步骤如下: 下载格式文件:https://pan.baidu.com/s/1lE0El1VtDqD5l ...

  9. php+大文件管理

    用过浏览器的开发人员都对大文件上传与下载比较困扰,之前遇到了一个php文件夹上传下载的问题,无奈之下自己开发了一套文件上传控件,在这里分享一下.希望能对你有所帮助.此控件PC全平台支持包括mac,li ...

  10. python随机生成库faker库api详解

    # -*- coding: utf-8 -*- # @Author : FELIX # @Date : 2018/6/30 9:49 from faker import Factory # zh_CN ...