monkeyrunner入门

本文介绍了monkeyrunner作为Android自动化测试工具的入门教程,包括安装配置环境、连接设备、安装应用、启动应用、模拟键盘操作、截图以及如何编写Python脚本实现自动化测试。适合初学者了解monkeyrunner的基本用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        monkeyrunner是SDK自带的一个自动化测试工具。官方介绍可以做功能测试和回归测试,但是在使用过程中我发现做功能测试比较困难,不过在回归测试中可以替代一部分手动测试。这篇文章仅作入门参考,后续我会讲一些比较深入的东西。

        使用monkeyrunner前,需要安装和配置JDK、SDK和Python。在配置SDK环境变量的时候把monkeyrunner.bat所在目录加进去,这样方便在cmd窗口直接启动monkeyrunner,我电脑上的目录为C:\Program Files\Android\android-sdk-windows\tools。另外Python目前官网上有两个版本2.7.3和3.3.0,这里我推荐用2.7.3,相对成熟一些。

        monkeyrunner可以操控手机或者模拟器,模拟器本身运行就很慢,因此有条件的话还是推荐使用手机。我这里使用的是Motorola XT889,手机打开调试模式、连接电脑、安装驱动,然后就可以开始了。

        1、启动monkeyrunner:启动cmd窗口,输入monkeyrunner,出现如下所示说明monkeyrunner已经启动。

C:\Documents and Settings\Administrator>monkeyrunner
Jython 2.5.0 (Release_2_5_0:6476, Jun 16 2009, 13:33:26)
[Java HotSpot(TM) Client VM (Oracle Corporation)] on java1.7.0_07
>>>

        2、导入模块:导入monkeyrunner需要使用的模块,输入from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage。

        3、连接手机:输入XT889=MonkeyRunner.waitForConnection(10)。10代表等待时间为10秒,可以不写,不写代表永远等待。此方法可以带第二个参数,该参数指定手机或者模拟器的名称,对于有多个设备连接电脑时,想操控其中某一台设备时适用。

        4、安装软件:以安装天翼空间为例,apk文件名称为estore.apk,路径为D:\MonkeyRunnerDemo\Apps\,那么我们输入XT889.installPackage("D:\\MonkeyRunnerDemo\\Apps\\estore.apk"),如果安装成功会返回True,并打印到屏幕上。

        5、启动软件:输入XT889.startActivity(component="com.eshore.ezone/com.eshore.ezone.StartActivity"),“/”前为package名称,后面为activity名称,给component赋的值也可以简写为"com.eshore.ezone/.StartActivity"。

        6、模拟键盘操作:输入XT889.press("KEYCODE_BACK",XT889.DOWN_AND_UP),monkeyrunner会模拟按返回键,第一个参数为Key Event,即键盘事件,详见:http://developer.android.com/reference/android/view/KeyEvent.html,第二个参数为MonkeyDevice类的字段,DOWN_AND_UP代表按下并松开,DOWN代表按下,UP代表松开。当然也可以进行touch、drag等模拟用户事件,可以自己试试,这里就不一一讲解了。

        7、截图:monkeyrunner主要使用截图对比的方式进行检查测试点,后续我会讲到使用控件ID等方式检查。输入result=XT889.takeSnapshot(),此步骤是获取实例,并未生成文件,需要再输入result.writeToFile("D:\\MonkeyRunnerDemo\\Images\\Image01.png","png"),第一个参数为生成文件的全路径,第二个参数为文件类型,可以不写。如果生成文件成功会返回True,并打印到屏幕上。

        上面是通过命令行逐行输入命令实现monkeyrunner操控设备,但是这样就违背了自动化测试的初衷。下面就介绍使用Python脚本执行自动化测试的方法。其实很简单,就是将命令行需要输入的代码写到一个Python文件就OK。下面是Python脚本的代码:

from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage

XT889=MonkeyRunner.waitForConnection(10)
XT889.installPackage("D:\\MonkeyRunnerDemo\\Apps\\estore.apk")
XT889.startActivity(component="com.eshore.ezone/.StartActivity")
XT889.press("KEYCODE_BACK",XT889.DOWN_AND_UP)
result=XT889.takeSnapshot()
result.writeToFile("D:\\MonkeyRunnerDemo\\Images\\Image01.png")
print("OK!")

        把以上代码命名为test.py,放在D:\MonkeyRunnerDemo\Scripts\路径,在cmd窗口直接执行monkeyrunner D:\MonkeyRunnerDemo\Scripts\test.py就能实现自动化测试了。需要说明的是所有路径必须存在,monkeyrunner不能自动生成文件夹。另外在Python脚本中可以尽情发挥Python的功能,比如加入打印、流程控制等等语句。这些我以后会讲到的。

内容概要:文章详细介绍了ETL工程师这一职业,解释了ETL(Extract-Transform-Load)的概念及其在数据处理中的重要性。ETL工程师负责将分散、不统一的数据整合为有价值的信息,支持企业的决策分析。日常工作包括数据整合、存储管理、挖掘设计支持和多维分析展现。文中强调了ETL工程师所需的核心技能,如数据库知识、ETL工具使用、编程能力、业务理解能力和问题解决能力。此外,还盘点了常见的ETL工具,包括开源工具如Kettle、XXL-JOB、Oozie、Azkaban和海豚调度,以及企业级工具如TASKCTL和Moia Comtrol。最后,文章探讨了ETL工程师的职业发展路径,从初级到高级的技术晋升,以及向大数据工程师或数据产品经理的横向发展,并提供了学习资源和求职技巧。 适合人群:对数据处理感兴趣,尤其是希望从事数据工程领域的人士,如数据分析师、数据科学家、软件工程师等。 使用场景及目标:①了解ETL工程师的职责和技能要求;②选择适合自己的ETL工具;③规划ETL工程师的职业发展路径;④获取相关的学习资源和求职建议。 其他说明:随着大数据技术的发展和企业数字化转型的加速,ETL工程师的需求不断增加,尤其是在金融、零售、制造、人工智能、物联网和区块链等领域。数据隐私保护法规的完善也使得ETL工程师在数据安全和合规处理方面的作用更加重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值