要使用MonkeyRunner,就要学习使用Python,哎
先抄一段官方doc里的代码
作用是启动一个程序(应该是启动程序默认的Activity),然后按MENU键,并截屏
# Imports the monkeyrunner modules used by this program
from com.android.monkeyrunner import MonkeyRunner as mr
from com.android.monkeyrunner import MonkeyDevice as md
# Connects to the current device, returning a MonkeyDevice object
device = mr.waitForConnection()
# sets a variable with the package's internal name
package = 'com.example.android.myapplication'
# sets a variable with the name of an Activity in the package
activity = 'com.example.android.myapplication.MainActivity'
# sets the name of the component to start
runComponent = package + '/' + activity
# Runs the component
device.startActivity(component=runComponent)
# Presses the Menu button
device.press('KEYCODE_MENU', MonkeyDevice.DOWN_AND_UP)
# Takes a screenshot
result = device.takeSnapshot()
# default folder name to save snapshot
snapshot = 'E:\\tmp\\'
# Writes the screenshot to a file
result.writeToFile(snapshot + 'shot1.png','png')
当然这个离我们的自动化测试还很遥远
如果要检验文本,就需要获得View,而希望获得View,就需要设备支持启动View Service,如果要启动View Service,设备就必须是开发机(root后还不一定是开发机),或者模拟器。
要获得View,可以使用第三方的插件ViewClient,当然也可以用MonkeyRunner自带的HierarchyViewer和ViewNode(仅在2.3.3以后支持)
使用ViewClient
如果要使用ViewClient,就去GitHub下载一个
https://github.com/dtmilano/AndroidViewClient
然后配置一下环境,增加ANDROID_VIEW_CLIENT_HOME(其实不配置也OK)就可以使用了
import sys
import os
# this must be imported before MonkeyRunner and MonkeyDevice,
# otherwise the import fails
ANDROID_VIEW_CLIENT_HOME = os.environ['ANDROID_VIEW_CLIENT_HOME']
sys.path.append(ANDROID_VIEW_CLIENT_HOME + '/src')
from com.dtmilano.android.viewclient import ViewClient
需要注意,ViewClient获取adb路径的判断,对Windows支持得不太好,有些地方的判断需要自己修改一下才能运行
2.0版,对adb的可执行性的check,没有考虑平台的差异性,统一用os.access(xxx, os.X_OK)
2.3版,增加了isWindows的判断,但是获取exeFile的时候又出现同样错误
使用HierarchyViewer和ViewNode
# Support from 2.3.3
from com.android.chimpchat.hierarchyviewer import HierarchyViewer
from com.android.hierarchyviewerlib.device import ViewNode
hv = device.getHierarchyViewer()
vn = hv.findViewById('id/icon_menu')
调查到此为止,果断回归NativeDriver
分享到:
相关推荐
2. 回放:再次进入命令行,使用 `monkeyrunner monkey_playback.py <脚本名称>` 回放之前录制的脚本。`monkey_recorder.py` 和 `monkey_playback.py` 是预置的 Monkeyrunner 录制和回放脚本。 四、Python 与 ...
2. **编写Python脚本**:MonkeyRunner使用Python作为脚本语言,编写测试脚本。脚本中可以定义函数,用于执行各种操作,如启动应用、查找视图元素、发送触摸事件等。 3. **导入所需库**:在脚本开头,需要导入...
虽然文档中提到了TT工具,但在主流的MonkeyRunner使用中并没有普遍涉及该工具。TT工具主要提供了一个测试的平台和解决方案,根据提供的内容,它可能为自动化测试提供了额外的功能。 MonkeyRunner工具的概述介绍中...
Monkeyrunner使用了Jython(一种运行在Java虚拟机上的Python解释器)来实现与Android系统的交互。这意味着你可以使用Python的语法来访问Monkeyrunner API中的各种常量、类和方法。 - **MonkeyRunner**:提供了一...
3. Monkeyrunner使用步骤: - 安装Python,如Python 3.4,根据个人需求选择合适的版本。 - 设置环境变量,确保Monkeyrunner所在的目录(通常在Android SDK的`tools`和`platform-tools`目录下)包含在PATH中。 - ...
Monkeyrunner入门使用总结,非常适合初学者学习
#### 三、Monkeyrunner使用教程 **连接设备**: - 使用`MonkeyRunner.waitForConnection()`来连接Android设备或模拟器。 **录制和回放**: - 通过MonkeyDevice的API来模拟用户交互。 - 录制用户操作,并生成测试脚本...
MonkeyRunner支持使用` MonkeyImage`类来处理屏幕截图,进行像素级别的比较,以检测UI变化。此外,还可以结合`MonkeyDevice.drag()`方法实现滑动操作,以及`MonkeyDevice.press()`和`MonkeyDevice.release()`来模拟...
- **可扩展性**:monkeyrunner允许开发者使用Python标准库,如os和subprocess模块,结合adb工具,实现更复杂的自动化流程。还能通过添加自定义类扩展API。 3. **使用示例**: - 一个基本的monkeyrunner程序会首先...
对于想要使用MonkeyRunner工具的测试人员来说,需要熟悉Python编程语言,并且能够编写控制逻辑和断言以验证应用程序的功能。因为MonkeyRunner脚本可以在Android设备上运行,所以测试人员能够模拟用户交互,并获取...
使用 Monkeyrunner 的第一步是确保你已经安装了 Android SDK,并且在系统路径中包含了 SDK 的 `tools` 目录。这样你可以在命令行中直接运行 `monkeyrunner` 命令。在 Windows 系统中,这通常位于类似 `D:\software\...
MonkeyRunner工具和Monkey工具都是Android系统提供的用于进行自动化测试的命令行工具,但它们的应用方式和目的存在一定的差异。 首先我们来理解Monkey工具。Monkey是一个命令行工具,它可以运行在Android的模拟器...
下面我们将深入探讨MonkeyRunner的使用和实现,以及如何通过Java代码进行控制。 首先,MonkeyRunner的核心是`MonkeyDevice`类,这个类提供了多种方法来模拟用户交互,例如`touch`用于模拟触摸屏操作,`type`用于...
在MonkeyRunner的官方文档中,你可以找到关于如何使用此工具的详细信息。这份文档可能包括以下几个关键部分: 1. **MonkeyRunner简介**:解释MonkeyRunner的基本概念和用途,以及它在Android测试框架中的位置。文档...
这个“monkeyrunner学习资料”包含了一些关于如何使用MonkeyRunner的文档,虽然网上相关资源可能不多,但通过深入学习这些文档,可以逐步掌握MonkeyRunner的使用。 首先,"Android自动测试之monkeyrunner工具.doc...
在本文中,我们将深入探讨如何在命令行、通过文件以及在Eclipse平台上使用MonkeyRunner。 ### 1. 命令行使用MonkeyRunner 在命令行中运行MonkeyRunner,首先确保已经安装了Android SDK并添加了环境变量。执行`...
MonkeyRunner的核心是Python编程语言,因此熟悉Python语法对于使用MonkeyRunner至关重要。 **1. Python简介** Python是一种高级、通用的编程语言,以其简洁明了的语法而著称。它支持多种编程范式,如面向对象编程...
此外,MonkeyRunner的脚本可以与其他Android SDK工具(如adb)结合使用,实现更强大的测试场景。 总的来说,MonkeyRunner是一个强大的自动化测试工具,尤其适合进行回归测试和功能验证。通过MonkeyRecorder这样的...