monkeyrunner入门之启动应用(Mac为例)

作者: 顾顾314 | 来源:发表于2017-07-21 15:16 被阅读661次

    最近一段时间在学习自动化测试,先是使用了monkey,monkeyscript,再接着是现在的monkeyrunner。学习monkeyrunner先是花了大量时间做了准备工作,因为使用monkeyrunner需要用到Python这门语言,所以自己花了大半个月的时间去学习了Python的一些基本语法。

    使用monkeyrunner之前需要配置好Android开发环境,这一步应该都好,毕竟做Android开发的很多,网上资料很多,再不行就请教公司里的开发人员帮忙配置。

    以下进入正题,第一次写这种东西,有不对之处还请勿喷(写给喷子看),有错误之处还请不吝赐教,共同进步。

    一、准备工作

    利用monkeyrunner启动应用之前,必须要先知道该应用的package和Activity,如何获取呢?网上大多给的是Android自带的aapt进行获取,在这里给出另一种方法,使用命令行直接获取(前提是手机要连接电脑,并且已经安装了应用,手机处于主页位置):

    1、先确认手机已经连接到电脑,并且可以调试:

    adb devices

    执行这个命令后,终端就会出现对应手机的id,出现id就代表我们可以进行下一步操作,而且这个id我们还有可能会用到。

    2、打开terminal,输入命令行:adb logcat | grep START。出来一串结果,如图:

    此时点击需要测试的App,又出来一串类似的结果:

    绿色部分圈出来的就是Activity name,红色部分圈出来的就是package name。这两个信息都可以找开发人员要,但是咱们自己可以获取,岂不是更方便。

    补充:这里的前提是我们的手机上已经安装了需要测试的App,但是如果App还在持续开发中,发布频率不是很高,难道每次都要找开发人员安装App,听起来是不是很烦?在这里介绍一个方法,只需要开发人员提供apk,咱们就可以自己安装到手机上,命令行如下:

    adb install apk的路径。如图:

    有了Success就表示App已经安装成功,在手机端就可以使用了。

    二、启动monkeyrunner

    很多人都在这里耗费比较长时间,总是起不来monkeyrunner。在刚才的基础上重起(command+N)一个terminal窗口,直接执行命令行:

    monkeyrunner

    就可以启动了,进入了交互模式。然后在交互模式状态导入monkeyrunner需要的类(一共三个类,这里不是全部用到,但是我一并导入):

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

    回车,又进入交互模式,连接设备(不连接设备,monkeyrunner也是无能为力啊,哈哈):

    device = MonkeyRunner.waitForConnection(3.0,'2babc241')

    函数后面的括号里的参数可以不填写,如果只链接一部手机。如果电脑同时链接多部手机则需要填写了。解释:参数一,3.0.表示链接手机等待的时间,在这个时间仍未连接成功则抛出异常,参数二,2babc241。表示手机的id。

    本节内容最重要的一步,启动应用,输入命令行:

    device.startActivity(component='com.zywulian.smartlife/com.zywulian.smartlife.ui.splash.RootActivity')。

    这样就会把应用启动了,接着就可以进行其他操作了。

    解释:device.startActivity(component='package name/Activity name')。

    当然了,这只是最简单的,我们最终还是需要在编辑器里进行编写Python脚本,从而运行脚本。因为我还不会使用简书把脚本内嵌进来,所以暂时先不讲了,有需要的可以联系我,我们共同学习。

    是不是很简单,祝你学习愉快。

    注意:如果使用 monkeyrunner 不能直接运行,可以进入到 monkeyrunner 所在的目录下进行操作,我的 monkeyrunner 所在的路径是:

    /Users/yonghuming/Library/Android/sdk/tools/bin

    如图:

    monkeyrunner 路径截图

    可以直接双击 monkeyrunner,也可以使用命令行在终端启动:“./monkeyrunner”(双引号“”中间的部分是命令行)。运行成功即进入交互模式,如图:

    相关文章

      网友评论

        本文标题:monkeyrunner入门之启动应用(Mac为例)

        本文链接:https://www.haomeiwen.com/subject/nfvdmttx.html