python monkey_解决python调用monkeyrunner的各种各样问题

1、交互模式下运行

在cmd窗口中输入monkeyrunner,前提是你已经将sdk中的tools目录加入到环境变量中的PATH中,如果没有加入就只能先pushd到tools目录下再运行monkeyrunner,这个东西一开始启动有些慢,耐心点,当出现>>>的时候说明已经成功启动了,

e7198c70e3844557791eae230a96b5d3.png

输入

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

这些就是python的语法了,理论上应该不会出现什么问题

再输入device = MonkeyRunner.waitForConnection()

waitForConnection是一个阻塞式方法,如果没有手机连接的话会一直等着,你也可以设置一个超时时间MonkeyRunner.waitForConnection(10) 表示超时时间为10秒。

连接成功后会出现>>>

b84d4e8fb15d40673cf8100b88147516.png

现在就可以调用device的一些方法,如reboot,可以先爽一爽重启手机

四、自动化的调起360手机卫士

monkeyrunner的调用api为device.startActivity(component=’packageName/Activity')

那么现在问题来了,packageName好弄,但是这个Activity可就不好搞了,可以通过反编译apk文件,但这里使用sl4a中的android模块来搞到这个activity

解压将刚才下载的sl4a-master.zip,取出里面的\sl4a-master\python\中的python_extras.zip,再解压这个zip,cmd到这个目录下,先使用adb命令得到安装的包的package名字,输入pm list packages –3 -f

9268e2cfb9ca94856fcc3ca54f1701eb.png

找到这样的一个package:/data/app/com.qihoo360.mobilesafe-2.apk=com.qihoo360.mobilesafe 后面的就是package名字

接下来获得activity名字

使用以下python代码

import android

import pprint

droid=android.Android()

apps=droid.getLaunchableApplications()

pprint.pprint(apps.result)

bebf13c0a1baf621e22b2b273cd26440.png

仔细找找,找到以下的字典元素,其中后面的u'com.qihoo360.mobilesafe.ui.index.AppEnterActivity'就为360卫士的StartActivity

u'\xa0360\u536b\u58eb': u'com.qihoo360.mobilesafe.ui.index.AppEnterActivity',

这样将上面的代码补充全

device.startActivity(component='com.qihoo360.mobilesafe/com.qihoo360.mobilesafe.ui.index.AppEnterActivity')

0dcb7d5edde3f89ebf60a5b2ae8e99ab.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值