monkey测试
- MonKey:
在cmd中输入
adb shell
cd system/bin
ls 可以看到monkey
cat monkey
结果:
shell@klte:/system/bin $ cat monkey
# Script to start "monkey" on the device, which has a very rudimentary
# shell.
#
base=/system
export CLASSPATH=$base/framework/monkey.jar
trap "" HUP
exec APP_process $base/bin com.android.commands.monkey.Monkey $*
- Monkey.jar由Monkey命令来启动执行:
在命令窗口执行:
adb shell monkey -help
可以查看命令参数
- 尝试使用命令:
adb shell monkey -p com.android.calculator2 -v 100 向指定的包发送100个伪随机事件
-
特性:
- 多设备控制
- 功能测试
- 回归测试
- 可扩展:利用python扩展
-
Monkey和MonkeyRunner两者区别:
Monkey:运行于设备或者模拟器之上,生成各种操作的伪随机事件流
MonkeyRunner: 运行于 PC端,通过python可以扩展
- MonkeyRunner使用:
请将android_swt设置为指向包含swt.jar的平台文件夹。
if exist %frameworkdir%\%jarfile% goto JarFileOk
set frameworkdir=lib
以及最后一行:
call "%java_exe%" -Xmx512m "-Djava.ext.dirs=%frameworkdir%;%swt_path%" -
Dcom.android.monkeyrunner.bindir=..\framework -jar %jarpath% %*
分别改为:
if exist %frameworkdir%\%jarfile% goto JarFileOk
set frameworkdir=..\lib
和:
call "%java_exe%" -Xmx512m "-Djava.ext.dirs=%frameworkdir%;%swt_path%" -Dcom.android.monkeyrunner.bindir=..\..\platform-tools -jar %jarpath% %*
- 通过 aapt获取包名:
- 在\sdk\build-tools\x.x.x下执行:
aapt dump badging path\name.apk > path/log.txt
* 在log.txt文件中查看即可
- 上面的操作完成之后,再次输入MonkeyRunner,示例代码:
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
device = MonkeyRunner.waitForConnection()
device.reboot("None")
Android设备或者虚拟机重启
- 示例(来自官方):
# 导入此程序使用的MonkeyRunner模块
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
device = MonkeyRunner.waitforConnection()
# 安装Android软件包。请注意,此方法返回一个布尔值,因此可以测试以查看安装是否有效。
device.installPackage('myproject/bin/MyApplication.apk')
# 使用包的内部名称设置变量
package = 'com.example.android.myapplication'
# 使用包中活动的名称设置变量
activity = 'com.example.android.myapplication.MainActivity'
# 设置要启动的组件的名称
runcomponent = package + '/' + activity
# 运行组件
device.startActivity(component=runComponent)
# 按下菜单按钮
device.press('KEYCODE_MENU', MonkeyDevice.DOWN_AND_UP)
# 截图
result = device.takeSnapshot()
# 将截图写入文件
result.writeToFile('myproject/shot1.png','png')
相关阅读
背景:某些场景下,如果我们想频繁的设备点击屏幕,也许很多人会想到的是adb命令,但是频繁的发送adb命令执行效率是很缓慢的,也许你还会想
用Chrome浏览器的应该都知道,Chrome的优势之一就是有各种拓展的插件,使得我们浏览,工作效率都更高。 今天给大家推荐的一款”神器插
monkey 是一个运行在模拟器或者Android设备中可以产生类似用户点击、触摸、手势以及一些系统级的伪随机事件流的程序。 我们可以
在命令行运行MonkeyRunner命令及通过MonkeyRunner运行
MonkeyRunner工具主要有三个类:MonkeyRunner、MonkeyDevice、MonkeyImage.可以直接使用一个代码文件运行monkeyrunner,抑或在交互式
今天开始学习monkey,记录一下整个流程一遍后面温习文章目录测试步骤:1. 安装JDK及SDK并且配置其环境:2. 测试ADB是否安装成功:3. 连接