时间:2021-05-22
一直有一个心愿希望可以用Python做安卓自动化功能测试,在一步步摸索中,之前是用monkeyrunner,但是发现对于控件ID的使用非常具有局限性,尤其是ID的内容不便于区分
具有重复性时,后面又发现Uiautomator可以对resorceId、text、packageName等元素进行定位,也找到了xiaochong这位大神关于uiautomator的封装包,链接如下:
https://github.com/xiaocong/uiautomator
做为一个小白,这一切都需要摸索,在克服了安装uiautormator封装包的问题后,又卡在启动应用这个问题上,之前使用monkeyrunner时启动应用使用的是如下代码:
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImagepackage = 'com.android.settings'activity = '/.Settings'runcomponent = package + activitydevice.startActivity(component = runcomponent)也是我无知,尝试了很久,终于找到了adb shell am start 包名/Activity启动,以设置应用为例,代码如下
import osos.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命令启动应用的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
ADB,即AndroidDebugBridge,是Android开发/测试人员不可替代的强大工具。adb与应用的连接1.启动/停止启动adbserver命令:a
前言本文主要给大家介绍了关于使用Python通过subprocess调用adb命令,subprocess包主要功能是执行外部命令(相对Python而言)。和sh
在Linux、Windows、MacOS的命令行窗口或Shell窗口,执行python命令,启动Python交互式解释器。交互式解释器会等待用户输入Python
-h或者--help帮助命令的使用详解查看shell内置命令的帮助,可以使用-h或者--help复制代码代码如下:#wget--help或者为了方便查看,和le
下面从python自带的IDLE,python的命令行,Windows命令行,三个方面介绍如何使用python一、python自带的IDLE和shell1.在开