Monkeyrunner命令
1.使用Monkeyrunner脚本命令时,需要导入模块才能使用模块的脚本命令,Monkeyrunner的常用模块有
- MonkeyRunner,MonkeyDevice,MonkeyImage,MonkeyRecorder
- MonkeyRunner:等待连接设备,与模拟器链接,返回monkeydevice对象,代表链接的设备
- MonkeyDevice:用来控制一个Android设备或模拟器。 方法发送UI事件, 检索信息,安装和删除应用程序,并运行应用程序
- MonkeyImage:monkeyrunner类来保存图像设备或模拟器的屏幕。 图像从屏幕缓冲区复制在一个屏幕截图。这允许你对象的方法 将图像转换为各种存储格式,写图像到一个文件,复制的部分图像
- MonkeyRecorder:允许用户自由录制需要的脚本,录制和回放,或者获取坐标
导入这些模块的语句为:
from com.android.monkeyrunner import 模块名
也可以为每个模块设置别名,设置别名后,后续使用的脚本使用到模块名都是使用别名:from com.android.monkeyrunner import 模块名 as 别名
以上模块导入的语句为:
from com.android.monkeyrunner import MonkeyRunner as mr
from com.android.monkeyrunner import MonkeyDevice as md
from com.android.monkeyrunner import MonkeyImage as mi
from com.android.monkeyrunner.recorder import MonkeyRecorder as mre
如果全部导入的话,也可以直接使用一条语句:from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice ,MonkeyImage,MonkeyRecorder
2.基础命令
(1)模块导入之后,开始连接模拟器的安卓设备或者真机设备进行测试,
连接设备:device=MonkeyRunner.waitForConnection(超时时间,设备名)
(2)设备连接成功后,安装需要测试的apk,参数为apk的路径
device.installPackage('apk路径')
如果需要删除卸载某些apk,则可以使用命令:device.removePackage('apk路径')
(3)设备连接后,可以用命令启动任意的Activity:device.startActivity(component="包名/Activity名")
例如,已知启动页的Activity名,则可以用命令打开软件的启动页。
(4)在使用命令中,有时要缓冲下等待某个操作加载完,可以使用命令:MonkeyRunner.sleep(秒数,浮点数),例如MonkeyRunner.sleep(3)等待3秒
(5)测试过程中,如果需要进行截图并且将截图保存起来:
result=device.takeSnapshot() //截图
(6)在文本框中输入内容可以先定位写入的地方,然后写入内容
device.touch(横坐标,纵坐标) //定位文本框位置
device.type(‘字符串’)//写入内容
(7)滑动屏幕:MonkeyRunner.drag(开始坐标,结束坐标,方向,滑动步数)
例如,向左滑动一步,0.1为时间:MonkeyRunner.drag((200,300),(100),0.1,1)
(8)按键:device.press()例如按手机的Home键,device.press("KEYCODE_HOME")
点击:device.touch()
其参数的值有:DOWN,UP,DOWN_AND_UP
例如已知某个按钮的横纵坐标,便可以进行点击操作:device.touch(100,200,"DOWN_AND_UP
")
(9)如果屏幕黑屏,可以唤醒屏幕:device.wake()
3.录制回放脚本
录制和回放需要两个脚本文件monkey_recorder.py和monkey_playback.py,所以需要导入我们第一点说的MonkeyRecorder的模块,导入后
- 录制
开始录制:recorder.start(device)
执行脚本:monkeyrunner monkey_recorder.py
打开的录制界面的工具栏:
功能如下:
wait:等待时间设置
press a button:点击按钮
Type Something:文本框输入
Fling:滑动
Export Actions:导出脚本
Refresh Display:刷新
- 回放
回放脚本的命令:monkeyrunner monkey_playback.py 录制的脚本文件名.mr
录制后将导出的脚本存放在monkeyrunner的文件夹即sdk/tools文件中,方便使用
Monkeyrunner命令的更多相关文章
- [Android]官网《monkeyrunner》中文翻译
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5050768.html 翻译自 Android Develope ...
- Android自动化学习笔记之MonkeyRunner:官方介绍和简单实例
---------------------------------------------------------------------------------------------------- ...
- Android自动化测试之Monkeyrunner学习笔记(一)
Android自动化测试之Monkeyrunner学习笔记(一) 因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyr ...
- android自动化之monkeyrunner
一.使用CMD命令打开模拟器 运行monkeyrunner之前必须先运行相应的模拟器或连上设备,不然monkeyrunner无法连接设备. 1.1 用Elipse打开Android模拟器或在CMD中 ...
- Android自动化测试中Monkeyrunner详解
之前有写过monkey测试详细说明,几天就说说monkeyrunner. monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器 ...
- Android自动化压力测试快速入门教程(图解)——MonkeyRunner
一.MonkeyRunner测试环境配置(转自) 1. android-sdk 下载地址:http://www.android-doc.com/sdk/index.html 下载完成后,只需要解压就 ...
- [转] android自动化测试之MonkeyRunner使用实例(三)
一.使用CMD命令打开模拟器 运行monkeyrunner之前必须先运行相应的模拟器或连上设备,不然monkeyrunner无法连接设备. 1.1 用Elipse打开Android模拟器或在CMD中 ...
- [转] Android自动测试之monkeyrunner工具(二)
monkeyrunner工具 前言: 最近开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括android测试框架.CTS.Monkey.Monkeyru ...
- 【转】android自动化测试之MonkeyRunner使用实例(三)
一.使用CMD命令打开模拟器 运行monkeyrunner之前必须先运行相应的模拟器或连上设备,不然monkeyrunner无法连接设备. 1.1 用Elipse打开Android模拟器或在CMD中 ...
随机推荐
- centos文件/文件夹操作-检查磁盘、内存、cpu使用情况-vi操作命令
Part1:CentOS文件/文件夹操作 1.新建文件夹 即创建目录 mkdir 文件名 新建一个名为test的文件夹在home下 vi source1 mkdir /home/test 注意:当创建 ...
- 撩课-Python-每天5道面试题-第4天
一. for循环和while循环中的else代表什么意思? 当for循环和while循环顺利的遍历完成时, 就会执行else分支 如果循环过程中, 碰到continue, 只要没有打断循环, 就会继续 ...
- Mac PHPStorm快捷键总结
全局搜索(command + shift + F) 显示类中的方法 (command + 7) 函数追踪 (command +鼠标点击) 单行注释/取消(command + /) 输入行号跳到某一行( ...
- 关于node npm的一个解决方法
解决Error: ENOENT: no such file or directory, scandir 'D:\IdeaWork\code-front-jet\node_modules\.npmins ...
- C# 读写txt文件方法
添加引用: using System.IO; 1.File类写入文本文件: private void btnTextWrite_Click(object sender, EventArgs e) { ...
- 护航SMB网络安全 应选择新一代防火墙
当前,各种规模的企业都遭遇着日益增多的网络攻击,而其中以中小企业(SMB)为代表的广大群体则更加面临敏感数据.公司资产和知识产权不断暴露在风险中的窘境.为了帮助企业应对这一挑战,新一代防火墙的采购与部 ...
- No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi
产生背景最近把Android Studio更新到3.0,更新之后出现了build错误:No toolchains found in the NDK toolchains folder for ABI ...
- Java基础之JSONObject的使用
private static JSONObject createJSONObject() { JSONObject jsonObject = new JSONObject(); jsonObject. ...
- 8.Bootstrap CSS编码规范
Bootstrap CSS编码规范 本节的介绍内容为 Bootstrap 中的 CSS 编码规范. 语法 用两个空格来代替制表符(tab) -- 这是唯一能保证在所有环境下获得一致展现的方法. 为选择 ...
- vs的一个奇葩错误 : 未能找到任何适合于指定的区域性或非特定区域性的资源...
摘要: VS2005下进行开发的时候遇到的问头:未能找到任何适合于指定的区域性或非特定区域性的资源.请确保在编译时已将“xxx.Form1.resources”正确嵌入或链接到程序集“xxx”,或者确 ...