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( ^^^^^^^^^^^^^^^^^^^......"

这样一大堆错误, 或者刷新界面时, 老是出现"$ python -m weditor"错误,大概率是Appium与标准uiautomator2冲突,需要重新卸载安装,这个问ai就可以了, 因为每个人的步骤可能都不可能。

接下来就是如何定位元素了,元素定位方法和web差不多都是一样,如下图, 点击你要操作的地方,然后就会出现对应Xpath语法了,直接复制就可以拿来用了

相关推荐
Shanxun Liao2 小时前
CentOS 7.9 根分区 / 已经 100% 用满隐藏占用解决办法
linux·运维·centos
FOREVER-Q2 小时前
Windows 下通过 SSH 替代 Gitee OAuth Token 推送配置指南
运维·服务器
Cyber4K2 小时前
【Kubernetes专项】DockerFile、数据持计划、网络模式及资源配额
运维·网络·云原生·容器·kubernetes
ba_pi3 小时前
每天写点什么2026-01-09-linux基础
linux·运维·服务器
少云清3 小时前
【性能测试】3_性能测试基础 _指标
运维·服务器·数据库·性能测试·性能测试指标
广州服务器托管3 小时前
比较优秀的视频音频播放器PotPlayer64-v1.7.22764绿色版
运维·windows·计算机网络·电脑·音视频·可信计算技术
行走的bug...3 小时前
cmake总结
linux·运维·服务器
凌波粒3 小时前
Linux 面试题篇
linux·运维·服务器
Joren的学习记录3 小时前
【Linux运维疑难杂症】k8s集群创建calico网络失败
linux·运维·kubernetes
乾元3 小时前
现场运维机器人的工程化落地——移动探针采集 + AI 诊断,在真实网络中的实现路径
运维·网络·人工智能·架构·机器人·自动化