MonkeyRunner实例讲解
一,
1 开启android
模拟器
首先使用eclipse的AVD
2 执行monkeyrunner命令:
进入sdk的tool目录中,比如我的是D:\monkeyrunnertest\adt-bundle-windows-x86_64-20140702\sdk\tools.
输入monkeyrunner.bat(启动monkeyrunner这个批处理文件)
(1) 引入monkeyrunner需要的两个模块
from com.android.monkeyrunner i mport
MonkeyRunner, MonkeyDevice
回车
(2) 把模拟器和monkey绑定,绑定后在monkeyrunner的操作等同于在模拟器的操作
device =
MonkeyRunner.waitForConnection()
(3)
安装一个apk应用包
我安装的zhongcho包 d:\robotiumest\apps\zhongchou.apk
device.installPackage("d:\\robotiumest\\apps\\zhongchou.apk
")
device.startActivity(component = " com.subject.zhongchou/com.subject.zhongchou.activity.SplashActivity
")
(5)
现在Application启动起来了,就可以根据你的需要执行具体的操作了,比如登录!
二,monkeyrunner运行python文件
1,启动Eclipse,新建一个Python工程,创建Src文件夹,然后新建文件LoginTest.py.输入以下代码:
#-*- coding: UTF-8 -*-
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice
from com.android.monkeyrunner.easy import EasyMonkeyDevice
from com.android.monkeyrunner.easy import By
import time
def testlogin():
easy_device=EasyMonkeyDevice(device)
#安装众筹网的app
device.installPackage("D:\\robotiumautotest\\apps\\zhongchou.apk")
#启动App
def main():
if __name__=='__main__':
(2) 在命令行中用cd命令定位到android SDK的路径下的tools目录,运行如下命令:
D:\monkeyrunnertest\adt-bundle-windows-x86_64-20140702\sdk\tools>monkeyrunner.bat d:\monkeyrunnertest\ZhongChouTest\src\LoginTest.py
(4)模拟器上就开始安装众筹网的APP,安装完成后,执行打开,登录等操作。
三,真机运行MonkeyRunner测试用例
注意:真机运行的时候会出现:“Unable to get view server version from device 284d96a5”的错误,在网上查看了一下,发现出于安全考虑,Hierarchy Viewer只能连接Android开发版手机或是模拟器(准确地说,只有ro.secure参数等于0且ro.debuggable等于1的android系统)。Hierarchy Viewer在连接手机时,手机上必须启动一个叫View Server的客户端与其进行socket通信。而在商业手机上,是无法开启View Server的,故Hierarchy Viewer是无法连接到普通的商业手机。
具体的解决办法
方法一:
见:http://maider.blog.sohu.com/255448342.html,上面说的挺麻熔岩烦的,而且是有风险的,我拿的是公司的测试机,不敢随便尝试。
方法二:
解决方法(以华为c8812为例):
1、找一个开发板的Android固件,我选择的是百度云rom
该rom下载地址:http://pan.baidu.com/s/1eQIII58
2、用百度云刷机工具将rom写入手机(注意:写入之前请备份数据。)
3、等待一会,手机正常开机后就可以了
4、用adb shell service call window 3来查看
若返回值是:Result: Parcel(00000000 00000000 '........')" 说明View Server处于关闭状态
若返回值是:Result: Parcel(00000000 00000001 '........')" 说明View Server处于开启状态
5、安装busybox应用
6、设置>开发人员选项>离线日志勾选允许输出离线日志