news 2026/4/21 0:32:12

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/17 8:04:28

什么是 Backtrader?一篇给 Python 量化爱好者的超全说明书

1. 一句话速览 Backtrader “纯 Python 写成的单文件量化生态”: 回测 实盘 可视化,三合一;零依赖编译,pip 即装;策略代码 ≈ 写公式,支持向量化 & 事件驱动双模式;社区活跃,…

作者头像 李华
网站建设 2026/4/20 22:53:08

微信小程序开发实战之 04-微信小程序常用 API(上)

小程序组件与 API 加载提示框 API wx.showLoading 方法用于弹出加载提示框,加载提示框弹出后,不会自动关闭,需要手动调用 wx.hideLoading 方法才能关闭加载提示框。 wx.showLoading 方法的基本选项:名称描述title提示的内容mask是…

作者头像 李华
网站建设 2026/4/20 13:46:28

《高价值付费玩家行为共性深析:从体验锚定到价值共生的实操拆解》

高价值付费玩家的行为核心逻辑,本质是玩家对“体验完整性与独特性”的极致追求,与开发侧价值供给体系的高度适配。这类玩家对付费内容的选择,绝非单纯受数值诱惑,而是围绕“自身核心体验诉求”构建的“试错式付费筛选”链路,往往会通过多轮浅层次付费测试,校验内容与自身…

作者头像 李华
网站建设 2026/4/17 8:39:00

光伏储能虚拟同步发电机Simulink仿真模型探究

光伏储能虚拟同步发电机simulink仿真模型 主电路:三相全桥逆变 直流侧电压800V 光伏模块:光伏板结合Boost电路应用MPPT 储能模块:采用双闭环控制,外环直流母线电容稳压,内环为电池电流环控制 Matlab/simulink 2021b及以…

作者头像 李华
网站建设 2026/4/17 8:04:42

CANFD 总线多节点扩展技术:节点数量限制与突破方案

在工业控制、汽车电子等 CANFD 总线应用场景中,节点数量直接影响系统覆盖范围与数据交互效率。节点数量并非无限制扩展,其受总线特性、硬件设计、协议配置等多重因素约束。本文将深入解析 CANFD 总线节点数量限制的核心原因,提供切实可行的扩…

作者头像 李华