目录
MonkeyRunner是一个测试工具,用于自动化测试Android应用程序。它提供了一个API(应用程序编程接口),允许测试开发人员编写基于Python语言的脚本,以执行各种Android设备和模拟器的任务。MonkeyRunner可以模拟用户交互(如点击、滑动和输入)和屏幕捕捉,以便进行验证和分析。 它通常与其他测试框架和工具(如JUnit和Robotium)一起使用,以实现全面的应用程序测试。
在配置安卓SDK的环境变量前,请确保已经下载并安装了安卓SDK,然后按照以下步骤进行配置:
打开“控制面板”并选择“系统和安全”。
选择“系统”,然后点击“高级系统设置”。
在“高级”选项卡下,点击“环境变量”。
在“用户变量”或“系统变量”下,找到名为“ANDROID_HOME”的变量。
如果没有找到“ANDROID_HOME”变量,则需要创建一个新的变量。在“用户变量”或“系统变量”下点击“新建”,输入“ANDROID_HOME”为变量名,并输入SDK的安装路径为变量值,如“D:\Android\SDK”。
在“Path”变量中添加SDK的bin目录路径,如“%ANDROID_HOME%\tools”、“%ANDROID_HOME%\platform-tools”、“%ANDROID_HOME%\emulator”。
点击“确定”保存配置。
现在,您已经成功地配置了安卓SDK的环境变量。可以使用命令行或其他工具测试环境配置是否正确了。
将自己的安卓设备打开调试模式,USB连接至电脑,运行CMD,输入命令
adb devices
查看你的安卓设备的ID(ID后面写程序会调用),如下图所示:

继续在这个命令提示框中输入
monkeyrunner
进入monkeyrunner的shell命令交互模式。如图:

进入shell命令交互模式后,首要一件事就是导入monkeyrunner所要使用的模块。直接在shell命令下输入:
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice
回车

这2步完成就可以就行monkeyrunner的测试了。
下面的一个例子是连接手机并且点击菜单按钮,之后截图保存(注:以下命令全部在CMD monkeyrunner环境下运行)
第一:
# 连接安卓设备,其中4d007e9a1b0050d1 是设备的ID 上面有提到通过abd devices 获得
device = MonkeyRunner.waitForConnection(5,'4d007e9a1b0050d1')
第二:
#安装apk文件到这个设备
device.installPackage('E:\Education - 136_8080.apk')
安装成功以后会返回true

第三:
- # sets a variable with the package's internal name(设置包名)
-
- package = 'com.incito.android.education'
第四:
- # sets a variable with the name of an Activity in the package(设置activity)
-
- activity = 'com.incito.android.education.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()
第九:
- # Writes the screenshot to a file(保存截图)
-
- result.writeToFile('E:\Snapshot\edu.png','png')
截图成功会返回true,如图

注意保存截图的文件夹要变成可以状态才能截图成功不然会报异常:只读去掉

截图成果:

图:

所有的语句可以写在一个python文件里面然后用命令
monkeyrunner test.py
在使用MonkeyRunner连接设备进行测试时,常遇到以下一些问题:
1、设备无法被识别
解决方法:
2、MonkeyRunner脚本无法运行
解决方法:
3、设备屏幕截图失败
解决方法:
4、触摸事件无法被识别或实现
解决方法:
以上为MonkeyRunner连接设备进行测试时常见的问题及其解决方法,希望能对您有所启发。