首页 测试 工具 查看内容

Android Monkeyrunner Test

2014-8-27 10:59| 发布者: | 查看: 552| 评论: 0

摘要:   关于Android自动化测试,研究了Monkey,Robotium 这次来看下 Monkeyrunner.  具体实践最靠谱的当然还是官网资料了。  http://developer.android.com/tools/help/monkeyrunner_concepts.html  这里简单记录 ...
# Import the monkey runner modules used by this programfrom com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage# Connects to current device, returning a MonkeyDevice objectdevice = MonkeyRunner.waitForConnection()# Installs the Android packagedevice.installPackage(\"./MyAndroid.apk\")# Runs the componentdevice.startActivity(component = \'com.luwenjie.android/.MyAndroidActivity\')#Presses the Menu buttondevice.press(\'KEYCODE_MENU\',\'DOWN_AND_UP\')#Takes a screenshotresult = device.takeSnapshot()# Writes the screenshot to a fileresult.writeToFile(\'./shot1.png\',\'png\')  2. 运行在 %Android_HOME%tools 目录下运行一下命令  monkeyrunner  monkeyrunnerTest.py  四、API参考  MonkeyRunner:http://developer.android.com/tools/help/MonkeyRunner.html  MonkeyDevice:http://developer.android.com/tools/help/MonkeyDevice.html  MonkeyImage:http://developer.android.com/tools/help/MonkeyImage.html   五、录制模式#Usage: monkeyrunner recorder.py#recorder.py  http://mirror.yongbok.net/linux/android/repository/platform/sdk/monkeyrunner/scripts/monkey_recorder.pyfrom com.android.monkeyrunner import MonkeyRunner as mrfrom com.android.monkeyrunner.recorder import MonkeyRecorder as recorderdevice = mr.waitForConnection()recorder.start(device)#END recorder.py#Press ExportAction to save recorded scrip to a file#Example of result:#PRESS|{\'name\':\'MENU\',\'type\':\'downAndUp\',}#TOUCH|{\'x\':190,\'y\':195,\'type\':\'downAndUp\',}#TYPE|{\'message\':\'\',}#Usage: monkeyrunner playback.py \"myscript\"#playback.py   http://mirror.yongbok.net/linux/android/repository/platform/sdk/monkeyrunner/scripts/monkey_playback.pyimport sysfrom com.android.monkeyrunner import MonkeyRunner# The format of the file we are parsing is very carfeully constructed.# Each line corresponds to a single command.  The line is split into 2# parts with a | character.  Text to the left of the pipe denotes# which command to run.  The text to the right of the pipe is a python# dictionary (it can be evaled into existence) that specifies the# arguments for the command.  In most cases, this directly maps to the# keyword argument dictionary that could be passed to the underlying# command.# Lookup table to map command strings to functions that implement that# command.CMD_MAP = {\'TOUCH\': lambda dev, arg: dev.touch(**arg),\'DRAG\': lambda dev, arg: dev.drag(**arg),\'PRESS\': lambda dev, arg: dev.press(**arg),\'TYPE\': lambda dev, arg: dev.type(**arg),\'WAIT\': lambda dev, arg: MonkeyRunner.sleep(**arg)}# Process a single file for the specified device.def process_file(fp, device):for line in fp:(cmd, rest) = line.split(\'|\')try:# Parse the pydictrest = eval(rest)except:print \'unable to parse options\'continueif cmd not in CMD_MAP:print \'unknown command: \' + cmdcontinueCMD_MAP[cmd](device, rest)def main():file = sys.argv[1]fp = open(file, \'r\')device = MonkeyRunner.waitForConnection()process_file(fp, device)fp.close();if __name__ == \'__main__\':main()
  关于Android自动化测试,研究了Monkey,Robotium 这次来看下 Monkeyrunner.  具体实践最靠谱的当然还是官网资料了。  http://developer.android.com/tools/help/monkeyrunner_concepts.html  这里简单记录下实践过程,Monkeyrunner 需要用Python来编写,对于曾未学过Python的童鞋来说也没关系,因为Python属于比较好学的一门脚本语言.笔者也未曾学过Python,但有其他编程基础如:PHP,Java,Peal,还是能够很好理解Python的。  一、monkeyrunner 介绍  monkeyrunner 提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器.  二、monkeyrunner 测试类型  多设备控制、功能测试、回归测试  三、实例(测试MyAndroid.apk)  1. 新建一个 monkeyrunnerTest.py

鲜花

握手

雷人

路过

鸡蛋

扫一扫关注最新动态

毒镜头:老镜头、摄影器材资料库、老镜头样片、摄影
爱评测 aipingce.com  
返回顶部