`

MonkeyRunner的使用

阅读更多
要使用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
分享到:
评论

相关推荐

    monkeyrunner使用要点

    2. 回放:再次进入命令行,使用 `monkeyrunner monkey_playback.py <脚本名称>` 回放之前录制的脚本。`monkey_recorder.py` 和 `monkey_playback.py` 是预置的 Monkeyrunner 录制和回放脚本。 四、Python 与 ...

    MonkeyRunner需要的jar包

    2. **编写Python脚本**:MonkeyRunner使用Python作为脚本语言,编写测试脚本。脚本中可以定义函数,用于执行各种操作,如启动应用、查找视图元素、发送触摸事件等。 3. **导入所需库**:在脚本开头,需要导入...

    MonkeyRunner--从环境构建

    虽然文档中提到了TT工具,但在主流的MonkeyRunner使用中并没有普遍涉及该工具。TT工具主要提供了一个测试的平台和解决方案,根据提供的内容,它可能为自动化测试提供了额外的功能。 MonkeyRunner工具的概述介绍中...

    android自动化测试工具monkeyrunner总结

    Monkeyrunner使用了Jython(一种运行在Java虚拟机上的Python解释器)来实现与Android系统的交互。这意味着你可以使用Python的语法来访问Monkeyrunner API中的各种常量、类和方法。 - **MonkeyRunner**:提供了一...

    5分钟快速配置monkeyrunner自己实践总结

    3. Monkeyrunner使用步骤: - 安装Python,如Python 3.4,根据个人需求选择合适的版本。 - 设置环境变量,确保Monkeyrunner所在的目录(通常在Android SDK的`tools`和`platform-tools`目录下)包含在PATH中。 - ...

    Monkeyrunner入门使用总结

    Monkeyrunner入门使用总结,非常适合初学者学习

    自动化测试工具Monkeyrunner

    #### 三、Monkeyrunner使用教程 **连接设备**: - 使用`MonkeyRunner.waitForConnection()`来连接Android设备或模拟器。 **录制和回放**: - 通过MonkeyDevice的API来模拟用户交互。 - 录制用户操作,并生成测试脚本...

    MonkeyRunner脚本生成工具

    MonkeyRunner支持使用` MonkeyImage`类来处理屏幕截图,进行像素级别的比较,以检测UI变化。此外,还可以结合`MonkeyDevice.drag()`方法实现滑动操作,以及`MonkeyDevice.press()`和`MonkeyDevice.release()`来模拟...

    monkeyrunner

    - **可扩展性**:monkeyrunner允许开发者使用Python标准库,如os和subprocess模块,结合adb工具,实现更复杂的自动化流程。还能通过添加自定义类扩展API。 3. **使用示例**: - 一个基本的monkeyrunner程序会首先...

    MonkeyRunner API使用说明

    对于想要使用MonkeyRunner工具的测试人员来说,需要熟悉Python编程语言,并且能够编写控制逻辑和断言以验证应用程序的功能。因为MonkeyRunner脚本可以在Android设备上运行,所以测试人员能够模拟用户交互,并获取...

    monkeyrunner 简单实用手册

    使用 Monkeyrunner 的第一步是确保你已经安装了 Android SDK,并且在系统路径中包含了 SDK 的 `tools` 目录。这样你可以在命令行中直接运行 `monkeyrunner` 命令。在 Windows 系统中,这通常位于类似 `D:\software\...

    monkeyrunner在pydev的集成

    MonkeyRunner工具和Monkey工具都是Android系统提供的用于进行自动化测试的命令行工具,但它们的应用方式和目的存在一定的差异。 首先我们来理解Monkey工具。Monkey是一个命令行工具,它可以运行在Android的模拟器...

    MonkeyRunner的java实现

    下面我们将深入探讨MonkeyRunner的使用和实现,以及如何通过Java代码进行控制。 首先,MonkeyRunner的核心是`MonkeyDevice`类,这个类提供了多种方法来模拟用户交互,例如`touch`用于模拟触摸屏操作,`type`用于...

    MonkeyRunner-官方Doc.zip

    在MonkeyRunner的官方文档中,你可以找到关于如何使用此工具的详细信息。这份文档可能包括以下几个关键部分: 1. **MonkeyRunner简介**:解释MonkeyRunner的基本概念和用途,以及它在Android测试框架中的位置。文档...

    monkeyrunner学习资料

    这个“monkeyrunner学习资料”包含了一些关于如何使用MonkeyRunner的文档,虽然网上相关资源可能不多,但通过深入学习这些文档,可以逐步掌握MonkeyRunner的使用。 首先,"Android自动测试之monkeyrunner工具.doc...

    使用monkeyrunner命令行、文件、eclipse平台运行全解

    在本文中,我们将深入探讨如何在命令行、通过文件以及在Eclipse平台上使用MonkeyRunner。 ### 1. 命令行使用MonkeyRunner 在命令行中运行MonkeyRunner,首先确保已经安装了Android SDK并添加了环境变量。执行`...

    MonkeyRunner培训简单教程

    MonkeyRunner的核心是Python编程语言,因此熟悉Python语法对于使用MonkeyRunner至关重要。 **1. Python简介** Python是一种高级、通用的编程语言,以其简洁明了的语法而著称。它支持多种编程范式,如面向对象编程...

    MonkeyRunner录制脚本相关工具

    此外,MonkeyRunner的脚本可以与其他Android SDK工具(如adb)结合使用,实现更强大的测试场景。 总的来说,MonkeyRunner是一个强大的自动化测试工具,尤其适合进行回归测试和功能验证。通过MonkeyRecorder这样的...

Global site tag (gtag.js) - Google Analytics