MonkeyRunner基本操作
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基本操作的更多相关文章
- Android 自己主动化測试(3)<monkeyrunner> 依据ID查找对象&touch&type (python)
我在之前的两篇文章中用java来实现过 Android 自己主动化測试(1)怎样安装和卸载一个应用(java).Android 自己主动化測试(2)依据ID查找对象(java). 可是本质上都是用mo ...
- Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作
一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...
- Android Notification 详解(一)——基本操作
Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...
- Android Notification 详解——基本操作
Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...
- 三、Redis基本操作——List
小喵的唠叨话:前面我们介绍了Redis的string的数据结构的原理和操作.当时我们提到Redis的键值对不仅仅是字符串.而这次我们就要介绍Redis的第二个数据结构了,List(链表).由于List ...
- 二、Redis基本操作——String(实战篇)
小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...
- 一、Redis基本操作——String(原理篇)
小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照 ...
- Linq查询基本操作
摘要:本文介绍Linq查询基本操作(查询关键字) - from 子句 - where 子句 - select子句 - group 子句 - into 子句 - orderby 子句 - join 子句 ...
- C++ map的基本操作和使用
原文地址:http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可 ...
随机推荐
- laravel的下载与安装
下载代码 https://github.com/laravel/laravel 在开发环境中配置好之后将根目录的 .env.example 文件改成 .env ,此文件是laravel的配置文件,将 ...
- windows 环境下基于Python 的GDAL 安装
最近由于需要利用pytho处理地理空间数据,但是python本身并没有访问和处理地理空间数据的包,只能借助于GDAL(Geospatial Data Abstraction Library)来进行访问 ...
- 【PKUSC2018】最大前缀和
上午的国庆大阅兵有意思 Description https://loj.ac/problem/6433 Solution 看数据范围认解法 首先在每种情况出现概率相同的情况下, \(期望 \times ...
- robotframework FOR循环
#获取到的ID组装成一个list ${List_ID} Create List ${ID_1} ${ID_2} ${ID_3} ${ID_4} ${ID_5} ... ${ID_6} ${ID_7} ...
- Java方法调用机制
最近在编程时,修改方法传入对象的对象引用,并没有将修改反映到调用方法中.奇怪为什么结果没有变化,原因是遗忘了Java对象引用和内存分配机制.本文介绍3个点: ① 该问题举例说明 ② 简要阐述Java内 ...
- [学习笔记] 平衡树——Treap
前置技能:平衡树前传:BST 终于学到我们喜闻乐见的平衡树啦! 所以我们这次讲的是平衡树中比较好写的\(Treap\). (以后会写splay的先埋个坑在这) 好了,进入正题. step 1 我们知道 ...
- Confluence 6.15 博客页面(Blog Posts)宏参数
参数是让你可以用来控制宏的格式和输出的选项.在 Confluence 存储格式或者 Wiki 标记(wikimarkup)中使用的参数名与在宏浏览器中使用的标签名是不同的,在下面我们将会用括号列出 ...
- Trie树(c++实现)——转载自jihite的博客
Trie树(c++实现) 原理 先看个例子,存储字符串abc.ab.abm.abcde.pm可以利用以下方式存储 上边就是Trie树的基本原理:利用字串的公共前缀来节省存储空间,最大限度的减少无谓 ...
- 138企业邮箱pop/imap和smtp服务器地址
如果客户端设置的是pop模式:接收邮件服务器(pop):pop.138mail.net ,端口号是110 (如果勾选了SSL,端口号则变为995)发送邮件服务器(smtp):smtp.138mail. ...
- jQuery事件之自定义事件
其实事件的bind和unbind,都是为了自定义事件做准备. 语法: $(selector).trigger(type, data); 作用:在每一个匹配的元素上触发某类事件,它触发的是由bind() ...