本文主要详细介绍了monkeyrunner环境的构建和示例教程,具有一定的参考价值。感兴趣的朋友可以参考一下。
Monkeyrunner工具提供了一个API,用这个API编写的程序可以在Android代码之外控制Android设备和模拟器。
一、Monkeyrunner简介
1.MOnkeyrunner相对Monkey区别
1)1)monkey runner工具通过工作站上API定义的特定命令和事件来控制设备或模拟器(可控)。
2)准确控制事件之间的事件。
3)可以做:触摸屏、拖拽、长按、键盘事件。
4)可以智能对比判断截图。
5)追溯详细的错误路径。
2.Monkeyrunner优缺点
1)可以完全模拟所有人工操作。
2)有详细的API文档参考。
3)可以编写智能图片对比脚本。
4)支持java和Python脚本
5)脚本移植性差。
3.Monkeyrunner脚本编写
1)终端的USB被设置为开发者模式。
2)在计算机上安装手机驱动程序
二、Monkeyrunner环境搭建
构建Monkeyrunner的环境,需要安装以下工具:jdk、android sdk、python编译器。
1.jdk的安装与配置
1)jdk下载地址
http://www . Oracle . com/tech network/Java/Java se/downloads/index . html
下载后默认安装。
2)jdk环境配置
jdk安装成功后,计算机属性高级系统设置高级环境变量。在系统变量中,创建一个新的JAVA_HOME变量,并用变量值填充jdk安装目录。
在系统变量中,编辑Path变量并输入% JAVA _ HOME % \ bin变量值的末尾。% JAVA _ HOME % \ jre \ bin(注意原始路径的变量值的末尾是否有;没有,如果没有,先输入;然后输入上面的代码)
在系统变量中,创建一个新的类路径变量,并按如下方式填写变量值:% JAVA _ HOME % \ lib%JAVA_HOME%\lib\tools.jar(注意第一点)
此时,系统变量已配置完毕。
3)jdk环境检查
要验证jdk环境是否配置成功,运行cmd,在cmd窗口中输入java -version (java和-version之间有一个空格)。如果显示如图所示的版本信息,则安装和配置成功。
2.android sdk安装和配置
Android sdk是指Android独有的软件开发工具包。android sdk中最常用的工具是平台-工具文件夹中的工具和工具。
1)sdk下载地址
下载地址1:http://developer.android.com/sdk/index.html
下载地址2:http://rj.baidu.com/soft/detail/23485.html? ALD
下载完Sdk后,解压到自己的目录下,不需要安装。
2)sdk环境配置
sdk安装成功后,计算机属性高级系统设置高级环境变量。在系统变量中,创建一个新的ANDROID_HOME变量,并填写sdk中工具和平台工具的安装目录。
在系统变量中,编辑Path变量,并在变量值的末尾输入%ANDROID_HOME%。
(注意原始路径的变量值的末尾是否有;没有,如果没有,先输入;然后输入上面的代码)
3)sdk环境检查
要验证sdk环境是否配置成功,请运行cmd,并在cmd窗口中输入adb。如图所示,安装和配置成功。
3.Python编辑器安装与配置
Python用于支持Monkeyrunner的运行。python脚本的例会极大地简化了Monkeyrunner用例的编写,将有助于扩展monkeyrunner的自动化功能。
1)Python下载地址
下载地址:http://www.python.org/download/
下载完成后,按照提示信息进行下一步安装。
2)Python环境配置
Python安装成功后,计算机属性高级系统设置高级环境变量。在系统变量中,编辑Path变量,在变量值末尾输入Python的安装路径;
(注意原始路径的变量值的末尾是否有;没有,如果没有,先输入;然后输入上面的代码)
3)Python环境检查
要验证python环境是否配置成功,请运行cmd,并在cmd窗口中输入Python。如果显示如图所示的版本信息,则安装和配置成功。
4.Monkeyrunner环境检查
如果完成了上述所有步骤,并且正确配置了所有环境变量,那么Monkeyrunner环境就已经构建好了。检查Monkeyrunner环境是否构建成功,然后运行cmd。在cmd窗口中,输入monkeyrunner。如下图所示,Monkeyrunner环境成功构建。
现在您可以使用Monkeyrunner连接模拟器进行自动化测试。
三、Monkeyrunner使用方法
在使用Moneyrunner之前,您必须首先打开模拟器或连接手机设备。以下是Monkeyrunner的操作示例。
1.模拟器启动
这里我们选择打开模拟器的命令。运行cmd,在cmd窗口中,输入命令:emulator -avd AVD_test,其中AVD_test是模拟器的名称,填写自己创建的模拟器的名称。
模拟器成功启动后,我们仍然在cmd环境下运行。现在进入Monkeyrunner的shell命令交互模式。
进入:monkeyrunner
进入shell命令交互模式后,首先要做的是导入monkeyrunner要使用的模块。直接在shell命令下输入命令:
复制代码如下:fromcom.android.monkeyrunner导入monkeyrunner,monkeydevice
再次输入,当这一步完成后,我们就可以使用monkeyrunner进行测试了。
2.模拟器连接
接下来,我们将Monkeyrunner连接到模拟器,并执行一系列操作。输入命令:
device=monkey runner . wait for connection()
其中device=monkey runner . wait for connection(6,' emulator-5554 ')
1:超时时间,单位秒,浮点数,默认是无限期等待。
参数2:指定的设备名称device_id,默认为当前设备(先手机,后模拟器)。
输入命令后,页面上不会返回错误消息,即设备连接成功。
3.app安装并启动
1)应用程序安装
模拟器成功启动后,我们安装想要的apk。这里我们选择qq音乐来安装。
输入命令:device . install package(' f:\ \ qqyinle _ 439。APK),其中参数是apk的相对路径。
安装成功返回true,查看模拟器时,我们可以在空闲界面看到已安装APK的图标。
2)应用程序启动
应用程序成功安装后,现在使用以下命令启动应用程序:
device . start activity(component=' package name/。活动’)
首先需要说一下如何获取一个app的包名和活跃度。这里只描述一种采集方式。
在sdk \ buildings-tools \目录中使用aapt,其中aapt是SDK附带的工具:
以f盘存储的qq音乐为例,运行cmd,在命令行切换到aapt.exe目录。
方法一:
执行命令:aapt dump badging f:\ qqyinle _ 439 . apk注意,apk的路径中不能有空格。
从上图可以看出:包名:com.tencent.qqmusic。
活动:
方法一:因为日志很多,很难找到,所以引出方法二。
方法二(推荐):
将日志存储在特定的文件中,通过在文件中搜索关键字来获取包名和活动名。在这里,我将结果输出到磁盘F的log.txt:
aapt转储标记F:\QQyinle_439.apk F:\log.txt
至此,已经获得了app的包名和活跃度。下面,我们真的开始app了。在原来的cmd运行窗口中,输入命令:
复制代码如下:device . start activity(component=' com.tencent.qqmusic/.activity.AppStarterActivity')
命令执行后,模拟器上的app启动。这表明该命令成功启动了应用程序。这里的关键是正确获取app对应的包名和活跃度,否则无法启动具体的app。
此时,可以向模拟器发送按键、滚动、截图、存储等操作。
四、Monkeyrunner运行python脚本
同样,Monkeyrunner可以直接调用指定的python脚本,将命令写入一个python文件,命名为***。然后我们可以从命令行直接通过monkeyrunner运行它。比如我们还是用上面的例子,语法如下:monkeyrunner ***.py接下来,monkeyrunner会自动调用***。py并执行其中的语句,相当方便。
这里我们把上面的例子,python文件中的所有命令,命名为test.py,然后存放在本地的F盘,也就是路径是:f: \ test.py。
#编码:utf-8
从com.android.monkeyrunner导入monkeyrunner,MonkeyDevice
device=monkey runner . wait for connection()
device . install package(' F:\ \ QQ _ 374 . apk ')
MonkeyRunner.sleep(3.0)
run component=' com . Tencent . QQ music/. activity . appstarteractivity '
device.startActivity(组件=运行组件)
在cmd中运行monkeyrunner F:\test.py,其中python脚本路径是相对的。错误:语法错误:不匹配的输入“test”expense new line,如下所示:
这是因为python脚本应该在dos模式下执行,不要进入monkeyrunner的shell命令交互模式。正确的做法如下,输入命令monkeyrunner F:\test.py:
操作成功后,可以在模拟器上看到已启动的qq音乐app。
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。