欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python之使用adb shell命令启动应用的方法详解

程序员文章站 2023-08-13 20:02:28
一直有一个心愿希望可以用python做安卓自动化功能测试,在一步步摸索中,之前是用monkeyrunner,但是发现对于控件id的使用非常具有局限性,尤其是id的内容不便于...

一直有一个心愿希望可以用python做安卓自动化功能测试,在一步步摸索中,之前是用monkeyrunner,但是发现对于控件id的使用非常具有局限性,尤其是id的内容不便于区分

具有重复性时,后面又发现uiautomator可以对resorceid、text、packagename等元素进行定位,也找到了xiaochong这位大神关于uiautomator的封装包,链接如下:

https://github.com/xiaocong/uiautomator

做为一个小白,这一切都需要摸索,在克服了安装uiautormator封装包的问题后,又卡在启动应用这个问题上,之前使用monkeyrunner时启动应用使用的是如下代码:

from com.android.monkeyrunner import monkeyrunner,monkeydevice,monkeyimage

package = 'com.android.settings'

activity = '/.settings'

runcomponent = package + activity

device.startactivity(component = runcomponent)

也是我无知,尝试了很久,终于找到了adb shell am start 包名/activity启动,以设置应用为例,代码如下

import os

os.system(“adb shell am start -n com.android.settings/.settings”)

运行结果如下:

starting: intent { cmp=com.android.settings/.settings }
0

成功进入设置应用界面,接下来可以尝试其它你想做的操作了

当然这只是解决了我在pc上运行的问题,在查找问题时有留意到uiautomator最终是要编译成jar文件是要放到android里面的虚拟环境去执行命令,但是android内部并没有adb

环境,所以adb命令会失败,必须得找到能够在android也可以运行的方法

以此做个备忘,希望自己可以在这条路上走得越来越远。

以上这篇python之使用adb shell命令启动应用的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。