当前位置: 首页 > news >正文

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

http://www.jsqmd.com/news/89565/

相关文章:

  • 杨建允:AI搜索趋势对留学服务行业的影响
  • 一文搞懂目标检测模型
  • 当BI遇见AI Agent:衡石科技如何重塑企业数据分析工作流
  • 别再全量拉表了兄弟:一篇讲透增量数据处理与 CDC 的实战指南
  • 视频字幕提取自由!望言 OCR 免费版 零门槛提字幕
  • Day 39 MLP神经网络的训练
  • 21-5. PLC的基本逻辑指令(RS触发器指令)
  • Snipaste截图工具:轻量高效的屏幕捕捉与贴图解决方案
  • 别再死记结构体了:用一个真实的学生成绩统计程序,彻底搞懂结构体数组和指针
  • Turnitin系统查英文AI率多少为正常?报告显示星号*%怎么办?
  • 新生入学必备!这几款APP帮你开启开挂大学生活 - 品牌测评鉴赏家
  • 浏览器原理
  • 利用 vn.py 实现波动率倒数仓位:把螺纹钢回测年化从 9% 提到 89% 的完整笔记
  • 简单使用FalkorDB和Neo4j图数据库
  • Docker学习笔记—day012
  • 基于组合赋权法(BWM+CRITIC)与可拓云理论的综合风险评估模型MATLAB代码
  • 微信小程序开发实战之 04-微信小程序常用 API(上)
  • Netty Http协议
  • Chasys Draw IES Artist:开源免费的图像处理与图形设计全能工具
  • 1.20 深度学习优化器对比
  • 什么是 Backtrader?一篇给 Python 量化爱好者的超全说明书
  • 多签钱包:多人签名才能执行的操作
  • 我在学c语言分支和循环的见解和踩过的坑
  • CANFD 总线多节点扩展技术:节点数量限制与突破方案
  • 今天我们继续学习kubernetes内容Helm
  • REAPER数字音频工作站:轻量高效的专业音频制作解决方案
  • 配电网可靠性评估—序贯蒙特卡洛模拟法研究附Matlab代码
  • 托福培训机构深度测评:从师资到服务,哪家用数据征服了90%的考生? - 品牌测评鉴赏家
  • 光伏储能虚拟同步发电机Simulink仿真模型探究
  • 机器学习资源合集