Python之使用adb shell命令启动应用的方法详解
一直有一个心愿希望可以用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命令启动应用的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
这篇文章主要介绍了Python破解BiliBili滑块验证码的思路,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2020-02-02Python EasyDict库以属性方式访问字典元素(无需使用方括号和键)
在Python中,字典(dict)是一种常用的数据结构,用于存储键值对,然而,有时候我们希望以属性的方式访问字典中的元素,而无需使用方括号和键,这就是EasyDict库的用武之地,本文将深入介绍EasyDict库,展示其强大的功能和如何通过示例代码更好地利用它2023-12-12matplotlib中plt.hist()参数解释及应用实例
本文主要介绍了matplotlib中plt.hist()参数解释及应用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-08-08
最新评论