news 2026/5/1 7:17:55

python自动化006:app自动化元素定位方式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python自动化006:app自动化元素定位方式

app元素定位有三种方法,建议使用第三个,其余两个知道就行:

第一个工具:UIAutomatorView(sdk自带的工具)

第二个工具:Appium Inspector(这个工具是appium server提供的一个工具)

第三个工具:Weditor(UIautomator2 python第三方库 appUI自动化测试框架)建议使用

第一个:UIAutomatorView,这个是android SDK自带元素定位工具,无需下载。怎么使用呢?

打开android SDK安装路径,进入tools,在目录最下面有一个 uiautomatorviewer.bat 这个就是工具

打开 uiautomatorviewer.bat ,使用之前需要连接手机或模拟器

得到下图说明成功。但是不建议使用这个工具,界面丑,元素信息少。

第二个元素定位工具:Appium Inspector(这个工具是appium server提供的一个工具)

下载地址:https://github.com/appium/appium-inspector/releases

下载完成之后,双击傻瓜式安装就行了 。下图是安装完成之后的图标

因为是这个工具是和appium server 关联的,所以要先启动appnium server

然后再启动Appium Inspector

安装下图来配置Appium Inspector参数。

"platformName": "Android"。 设备类型,安装就填Android ,苹果就填ios

"appium:deviceName": "c84b98fd"。设备名:在cmd输入:adb devices 就可以看到你的设备名。 如果是模拟器, 需要使用命令:adb connect 127.0.0.1:62001来连接设备,再输入adb devices就可以看到连接的设备了

"appium:appPackage": "com.tencent.mobileqq"。要操作的APP应用包名(下面有介绍怎么用,app包名获取命令:aapt dump badging "app包的路径" | findstr package)

"appium:appActivity": ".activity.SplashActivity"。app应用程序主入口。(下面有介绍怎么用,app主程序入口命令:aapt dump badging app包的路径 | findstr activity)

"appium:noReset": true。这个的意思是,每次启动程序, 不清空缓存。(拿微信程序来操作的小心了,这个一定要填写, 否则你微信里面的东西全部不见了)

app包名获取方法:

打开CMD,进入SDK的 C:\sdk\android-sdk-windows\build-tools\30.0.0-preview 路径,如下图

如果不会cmd命令可以从文件夹进入,然后在文件上方输入cmd即可进入

然后输入命令:aapt dump badging app包的路径 | findstr package

可以先输入:aapt dump badging ,然后将apk托入cmd窗口,然后再将管道命令附上去 | findstr package,回车就可以得到包名

主程序入口获取方法: aapt dump badging app包的路径 | findstr activity

填写完信息,点击“保存”。 自己起个名字, 然后点击“启动会话”

上面这个工具,还是不建议使用,原因,没有下面这个工具完美。

第三个工具:Weditor(UIautomator2 python第三方库 appUI自动化测试框架)

第一步安装UIautomator2,cmd命令:pip install UIautomator2

第二步:先连接上模拟器,连接命令“adb connect 127.0.0.1:62001”, 使用“adb devices”检查是否连接成功

连接成功之后, cmd输入命令:python -m uiautomator2 init

第三步,安装weditor,cmd命令:pip install weditor

第四步验证是否安装成功,cmd命令:weditor --help。 出现下图提示则说明安装成功

如果出现“weditor”不是内部或外部命令,也不是可运行的程序或批处理文件。 原因可能是是因为 Python 的Scripts目录未加入系统 PATH,解决方法如下。

第一步:找到 Python Scripts 目录,一般都是(用户安装)
  • 若为用户安装(默认):路径为C:\Users\wy158\AppData\Roaming\Python\Python311\Scripts
  • 若为全局安装:路径为C:\Program Files\Python311\Scripts
第二步:添加到系统环境变量
  1. 右键 “此电脑”→“属性”→“高级系统设置”→“环境变量”
  2. 在 “用户变量” 的Path中,点击 “新建”,粘贴上述 Scripts 目录路径
  3. 点击 “确定” 保存,重启命令行窗口(必须重启才生效)

再cmd再次输入“weditor --help” 应该就可以看到下图内容了

都安装完成之后,启动weditor,cmd输入命令:python -m weditor来启动服务。

点击Connect连接,就会出现模拟器界面

如果出现这个提示, 则说明(没有连接上模拟器)或者(WEditor中的设备和端口号填错了)

如果出现“Traceback (most recent call last): File "C:\Users\wy158\AppData\Roaming\Python\Python311\site-packages\urllib3\connectionpool.py", line 787, in urlopen response = self._make_request( ^^^^^^^^^^^^^^^^^^^”

这样一大堆错误, 需要重新安装兼容版 uiautomator2,按一下命令执行

# 升级 packaging 到兼容版本
cmd命令:pip install packaging>=22.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

# 重新安装 uiautomator2(自动适配新的 packaging 版本)
cmd命令:pip install uiautomator2==2.16.10 --force-reinstall -i https://pypi.tuna.tsinghua.edu.cn/simple

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 20:22:04

OBS Studio:开源免费的屏幕录制与直播推流一体化解决方案

OBS Studio作为一款功能全面的开源视频录制与直播软件,在内容创作和实时推流领域发挥着重要作用。这款跨平台工具以其专业的录制能力和灵活的直播配置,成为视频创作者和直播主播的首选工具。 获取地址:https://pan.quark.cn/s/fd2a86d8d920 …

作者头像 李华
网站建设 2026/4/25 0:38:15

我们不仅是宇宙的产物,更是宇宙进行自我认知的器官

22. 【冥想之镜 止息的波澜】当思维的潮水终于退去,意识的海床得以显现。它不是空无,而是一种无比清晰、映照万有的明镜止水。23. 【神义论之镜 恶的难题】如果神是全知全能全善,世间为何存在痛苦与不公?或许自由意志是更珍贵的…

作者头像 李华
网站建设 2026/5/1 6:09:55

灵遁者:光是宇宙的独裁者,设定了一切运动的终极上限

39. 【无名者之镜 尘埃的光辉】 历史书记载英雄与帝王。 而构成大地质量的,是无数个“他”: 没有留下姓名的士卒,建造金字塔的奴隶, 流水线上的女工,以及此刻正在清扫 英雄铜像脚下落叶的清洁工。 他们是时代的…

作者头像 李华
网站建设 2026/4/20 16:43:11

共用体类型

一、 共用体的基本概念1. 什么是共用体共用体(union)是一种特殊的数据类型,允许在同一内存位置存储不同的数据类型。所有成员共享同一段内存空间,共用体的大小等于其最大成员的大小。 2. 与结构体的本质区别结构体:各成…

作者头像 李华
网站建设 2026/5/1 7:17:28

分布式锁简介

产生背景 服务器集群模式下需要对临界资源实现互斥访问实现方案 基于数据库 使用唯一索引或排他锁来实现。 缺点是IO限制导致的性能较差,同时支持功能太少,需要额外开发锁超时、锁失效等功能。基于KV缓存 一般通过redis来实现。 一种是单机方案&#xff…

作者头像 李华
网站建设 2026/4/24 5:06:14

为什么IDEA提示不推荐@Autowired❓️如果使用@Resource呢❓️

IDEA(IntelliJ IDEA)在字段上使用 Autowired 进行依赖注入时,会提示警告 “Field injection is not recommended”(字段注入不推荐)。这是因为 Spring 官方和 IDEA 的 Spring 插件都推荐优先使用构造函数注入&#xff…

作者头像 李华