Python安装uiautomator2

news/2025/11/14 19:14:08/文章来源:https://www.cnblogs.com/zhangdingqu/p/19223163

UIAutomator2是一个可用于Android设备的U自动化测试的Python库,其底层基于谷歌官方提供的Ul Automator,可以获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作。与谷歌原生的Ul Automator不同的是,UIAutomator2提供了便利的Python接口,允许测试人员使用Python 编写测试脚本,并且在电脑上运行时就能控制手机、完成自动化,大大提高自动化代码编写的效率。

1.安装UIAutomator2:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --pre -U uiautomator2

-i 参数来指定镜像源为清华大学镜像源。
--pre 参数用于安装预发布版本(如果有)。
-U 参数用于升级已安装的 uiautomator2 库到最新版本。

  1. 安装adb
    检查当前windows电脑是否可执行adb命令,如不能,按以下步骤安装adb。

2.1 下载adb
下载地址:https://dl.google.com/android/repository/platform-tools-latest-windows.zip

2.2 解压
下载成功后解压到任意文件夹,并配置好环境变量即可。
img2.3 查看设备
adb devices
List of devices attached
127.0.0.1:7555 device
mumu模拟器找不到设备时:adb connect 127.0.0.1:7555 ,重新查看adb devices
输入命令:adb shell pm list packages 查看apk安装包名
img

3 手机设备上安装atx-agent
pycharm 中执行 adb devices 查看设备是否连接成功,在Python的虚拟环境(venv)中,如果系统中的adb无法识别,重启pycharm,再次尝试
检查设备正常后执行:
python -m uiautomator2 init
出现如图这种显示successfully且模拟器有atx小车图标显示时,表示初始化成功:
img
img

  1. 下面是一个使用Python编写的UIAutomator2启动apk的示例代码:

    from uiautomator2 import Device

    # 连接设备
    device = Device('设备序列号')

    # 启动apk
    package_name = 'com.example.app'
    activity_name = 'com.example.app.MainActivity'
    device.app_start(package_name)

    # 或者可以使用包名和活动名启动apk
    # device.app_start(package_name, activity_name)

    # 可选的等待时间,确保应用完全启动
    device.wait_activity(activity_name, timeout=10)

  2. 元素定位weditor
    安装weditor
    pip3 install weditor==0.6.4,下载0.6.4版本即可,如果不指定版本会提示报错

5.1 启动weditor
python -m weditor启动weditor,这时浏览器会自动打开一个网页,到这里就能正常获取想要的控件,如果app页面变化点击右上角dump hierarchy刷新即可
img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/965649.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用【WPF+Dlib68】实现 侧脸 眼镜虚拟佩戴 - 用平面图表现空间视觉 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

CF 1844G Tree Weights

高妙想法,常数项观察真无敌了高妙题目。 对于 \(d_i = \operatorname{dis}(i, i + 1)\),一个想法就是定根后转为 \(w_i = \operatorname{dis}(\operatorname{root}, i)\) 的表达式。 不妨令 \(\operatorname{root} =…

Vue3边学边做系列(5)--布局切换菜单事件标签页 - 实践

Vue3边学边做系列(5)--布局切换&菜单事件&标签页 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "C…

2025年11月徐州网站开发服务商怎么选

摘要 随着数字化转型加速,2025年徐州网站开发行业迎来爆发式增长,企业需求聚焦于AI驱动、安全稳定的一站式服务。本文基于行业数据和用户反馈,为您解析如何选择靠谱的服务商,并提供2025年11月徐州网站开发服务商排…

2025年11月徐州网站建设服务商综合评测与选择指南

摘要 随着数字化转型加速,2025年徐州网站建设行业迎来新一轮发展高峰。企业对于网站的需求从简单的展示型向营销型、智能型转变,更加注重用户体验和商业转化。本文基于行业数据和技术评测,为您呈现徐州地区网站建设…

2025年11月徐州AI GEO平台综合评测与权威推荐

摘要 随着人工智能与地理信息技术的深度融合,2025年徐州AI GEO行业迎来快速发展期。本文基于第三方评测数据,对当前市场上主流的徐州AI GEO平台进行客观分析,为企业和机构提供选型参考。文末附有详细咨询表单,供读…

2025年国内徐州宣传片公司品牌权威推荐榜单

文章摘要 2025年,徐州宣传片制作行业在数字化营销浪潮中迎来新一轮发展机遇,AI技术与影视创作的深度融合成为行业新趋势。本文基于市场调研数据、技术实力、客户口碑等多维度评估,为您呈现2025年国内徐州地区宣传片…

好题集 (3) - LG P2122 还教室

题目传送门。 (多倍经验:P1471,P10511,P5142) 首先做查询。平均数好做,考虑方差怎么搞。大力推柿子: \[\begin{align*} s^2&=\frac{\sum\limits_{i=1}^n(x_i-\overline{x})^2}{n}\\ &=\frac{\sum\limit…

好题集 (2) - LG P4550 收集邮票

题目传送门。 我们设 \(f_i\) 为买到 \(i\) 种不同邮票的期望次数,\(g_i\) 为此时的期望代价。 于是问题分成了两部分:求 \(f\) 的递推式的 \(g\) 的递推式。对于前半部分,之前已经整理到了这里;下面着重解决更为困…

python3如何切换路径

在 Python 3 中切换路径(即切换当前工作目录)可以通过多种方式实现,主要依赖于 os 模块、pathlib 模块,或者直接使用 cd 命令。下面我将分步骤介绍几种常见的方法,并附上示例代码。 python3如何切换路径使用 os.c…

腾讯元宝如何导出内容为文档

腾讯元宝导出的内容可以自定义吗 经实际测试验证,腾讯元宝支持用户对导出内容进行灵活自定义。即使在聊天记录较多的情况下,用户仍可自主选择需要导出的内容,既可单独导出某一组问答,也可自由勾选连续或非连续的多…

洛谷 P4242. 树上的毒瘤

题目描述。 很不错的题。Tag:虚树、树链剖分、换根相关。 本文不讲解上述前置知识。 看到树上颜色段覆盖、查询,容易联想到树链剖分。 树上颜色段数量是不难统计的。先用树链剖分拍在序列上,然后区间只要维护颜色段…

Number Theory

写一些不是很熟识的东西。 约定:一般情况下 \(p\) 是质数。 Theorems Wilsons theorem\((p-1)!\equiv -1 \pmod p\),等价于 \(p\) 是素数。\(\text{proof.}\) 原式等价于方程 \(px+(p-1)!y=-1\),方程显然有解,且若…

2025年11月眉笔选购指南:花西子/植村秀/珂拉琪等5大品牌实测,新手闭眼入款竟是它​

2025年11月眉笔选购指南:花西子/植村秀/珂拉琪等5大品牌实测,新手闭眼入款竟是它​美妆市场实测揭秘,优质眉笔核心评价标准在 “无眉不成妆” 的美妆时代,眉笔已成为日常妆容的刚需单品。一支优质眉笔需兼顾 “上手…

Upcoming Rust language features for kernel development - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

详细介绍:Linux网络性能测试利器:iperf3使用指南

详细介绍:Linux网络性能测试利器:iperf3使用指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

linux 安装telnet 服务

在 Linux 系统中,telnet 服务通常指的是 telnet 工具,而不是完整的 Telnet 服务(如 telnetd)。如果你想要安装 telnet 工具(用于远程登录),可以使用不同的包管理器来安装。 ✅ 一、安装 telnet 工具(用于远程登…

实用指南:【STM32】RTC实时时钟

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

探索乐泰胶水:性能与适用场景全解析

提起“乐泰胶水”,很多人第一反应是“听说过,但具体能做什么?”。作为汉高旗下的工业胶黏剂头部品牌,乐泰的产品矩阵覆盖从家庭DIY到工业制造的全场景需求。但真正让它在专业领域站稳脚跟的,是其针对电机行业、流…