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

 更新时间:2019年01月07日 09:48:51   作者:只为向上  
今天小编就为大家分享一篇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中的变量命名规则详情

    python中的变量命名规则详情

    这篇文章主要介绍了python中的变量命名规则详情,变量名可以包括字母、数字、下划线,但是数字不能做为开头,变量用的好或不好,和代码质量有着非常重要的联系,合理的使用变量,可以让你的代码可读性更高并且更加简洁,下面相关内容吧需要的小伙伴可以参考一下
    2022-03-03
  • Python爬虫实现简单的爬取有道翻译功能示例

    Python爬虫实现简单的爬取有道翻译功能示例

    这篇文章主要介绍了Python爬虫实现简单的爬取有道翻译功能,结合实例形式分析了Python基于urllib库实现的爬虫爬取有道翻译相关定义与数据交互功能操作技巧,需要的朋友可以参考下
    2018-07-07
  • Python实用工具之实现PDF转DOCX文档

    Python实用工具之实现PDF转DOCX文档

    pdf2docx作为第三方包,提供了非常优秀的功能,仅仅几行代码就可以完成PDF转换为DOCX的工作,所以本文就来利用pdf2docx实现PDF转DOCX文档功能吧
    2023-12-12
  • Python+Tkinter制作在线个性签名工具

    Python+Tkinter制作在线个性签名工具

    这篇文章主要为大家分享如何利用Python中的Tkinter库制作一个简易的在线个性签名生成工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-03-03
  • python3+selenium获取页面加载的所有静态资源文件链接操作

    python3+selenium获取页面加载的所有静态资源文件链接操作

    这篇文章主要介绍了python3+selenium获取页面加载的所有静态资源文件链接操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python matplotlib中更换画布背景颜色的3种方法

    Python matplotlib中更换画布背景颜色的3种方法

    这篇文章主要给大家介绍了关于Python matplotlib中更换画布背景颜色的3种方法,在Matplotlib中,我们可以使用set_facecolor()方法来设置背景颜色,文中通过图文以及代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • pytorch 计算ConvTranspose1d输出特征大小方式

    pytorch 计算ConvTranspose1d输出特征大小方式

    这篇文章主要介绍了pytorch 计算ConvTranspose1d输出特征大小方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python实现探测socket和web服务示例

    python实现探测socket和web服务示例

    这篇文章主要介绍了python实现探测socket和web服务示例,需要的朋友可以参考下
    2014-03-03
  • Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法

    Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法

    这篇文章主要介绍了Python在字典中将键映射到多个值上的方法,涉及Python针对字典的相关映射与初始化相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • 浅谈对Python变量的一些认识理解

    浅谈对Python变量的一些认识理解

    变量(variable)是编程的基础概念,Python 的变量看似简单,深入了解却不易.文中有非常详细的介绍及代码示例,对正在学习python的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05

最新评论