android自动化测试Monkey和MonkeyRunner的使用
Monkey是一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试。
adb shell monkey -p xxx.xxxx.xxx -s 123123 --throttle 300 -v -v 20 > d:\monkey.txt
这里指定了seed值,每个事件之间休息300ms,执行了20个事件,然后将日志信息保存在了monkey.txt文件中
adb shell monkey -f sdcard/monkey.txt -v -v 1
自动化脚本
type= raw events
count= 1
speed= 1.0
start data >>
LaunchActivity(com.android.mangodialog,com.android.mangodialog.MainActivity);
UserWait(1000);
# 按下
DispatchPointer(0,0,0,400,500,0,0,0,0,0,0,0)
# 抬起
DispatchPointer(0,0,1,400,500,0,0,0,0,0,0,0)
UserWait(1000);
Tab(500,300);
UserWait(1000);
DispatchPress(KEYCODE_ENTER)
UserWait(1000);
DispatchPress(KEYCODE_BACK);
UserWait(1000);
RunCmd(screencap -p /sdcard/tmp.png);
UserWait(1000);
Drag(0, 0, 500, 500);
UserWait(1000);
RotateScreen(90,1)
UserWait(1000);
DispatchString(www.baidu.com);
UserWait(1000);
DispatchPress(KEYCODE_BACK);
UserWait(1000);
Monkeyrunner:
Monkeyrunner工具是在工作站上通过API定义的特定命令和事件控制设备或模拟器。
Monkeyrunner配置环境的时候不在tools下面,在tools/bin下面
File: Test1.py
# Vision: V1.0
# Author: Findyou
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
device = MonkeyRunner.waitForConnection()
result = device.takeSnapshot()
result.writeToFile('/Users/wpf123/Documents/workproject11/Test1_001.png','png')
device.removePackage('xier.com.cn.xiaoelevator')
MonkeyRunner.sleep(5)
result = device.takeSnapshot()
result.writeToFile('/Users/wpf123/Documents/workproject11/Test1_002.png','png')
device.installPackage('/Users/wpf123/Documents/workproject11/app_debug.apk')
result = device.takeSnapshot()
result.writeToFile('/Users/wpf123/Documents/workproject11/Test1_003.png','png')