news 2026/7/7 10:37:23

解决appium ui自动化无法识别悬浮窗问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
解决appium ui自动化无法识别悬浮窗问题

事情的起因是在两个项目上,A项目的虚浮窗按钮无法获取

B项目的推荐和看动态无法获取UI元素

通过adbshell dump也是无法获取到,但就一个问题,为啥weditor可以定位到呢?

那奇怪了是什么原因?为什么会突然有这个现象呢?因为我们是用weditor录制脚本,然后用appium执行,appium通过http请求的response和打印的日志,都是没有获取到相关元素。

经过对比实验,是ui2的问题,weditor的atx ui2是有修改过的。所以就安排开始看ATX ui2项目,进行定位,并对appium的UI2进行修改,最终搞定。appium自动化框架都可以识别到,解决了悬浮窗popwindow这类节点定位不到的问题。

ATX 和appium获取当前Android设备上所有可访问窗口的根节点元素区别:
ATX 代码:(简称A)

appium 代码(简称B)

这两段代码都是获取当前Android设备上所有可访问窗口的根节点元素,但是实现方法不同,具体不同如下:
共同之处:

1.都是获取当前Android设备上所有可访问窗口的根节点元素;

2.都是通过AccessibilityService的相关方法实现的;
不同之处:

1.A代码是在获取根节点元素时使用了XML序列化,并将序列化结果存储到ByteArrayOutputStream中,然后再将其转换为InputStream返回;

2.A代码是直接获取所有窗口的根节点元素,而B代码则有选择地获取所有窗口或者只获取活动窗口的根节点元素;

3.A代码不涉及缓存,每次调用都会重新获取根节点元素,而B代码则通过缓存来优化性能,如果缓存中已经存在获取到的窗口根节点元素,则直接返回缓存中的结果;

所以整体appium获取不到元素的原因在于不同之处的第2和第3点,实时获取根节点元素以及获取的方式,修改的地方很多,但可以根据ATX的ui2来修改;

以上,就是关于解决appium 无法获取PopWindow 悬浮窗问题,当然获取不到,还可以用图像识别,但不在本次的讨论范围~

最后作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些软件测试的学习资料和我花了3个月整理的软件测试自学全栈,这些资料希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

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

基于单片机的超声波测距仪

收藏和点赞,您的关注是我创作的动力 文章目录概要一、本课题研究的主要内容二、超声波测距仪的整体方案2.2 超声波测距仪设计原理三、超声波测距仪系统硬件电路的设计3.1 超声波测距仪的基本结构四、 超声波测距仪系统的软件设计4.1 主程序软件设计仿真五、结论六、…

作者头像 李华
网站建设 2026/7/7 17:46:36

基于单片机嵌入式的智能交通信号灯管理系统的设计与实现

项目介绍 有目共睹电子设备已经席卷了整个人类生活,他们不断改善着人们的起居住行,这也就促进了嵌入式人工智能的快速发展。 本课设模拟系统分为软硬件两部分组成。硬件部分是由两位8段数码管和LED灯构成的显示系统和控制电路等组成,能较好的…

作者头像 李华
网站建设 2026/7/7 8:05:43

Kubernetes与开发语言:重新定义.NET Core与Java的云原生未来

文章目录一、 历史交汇:不同的起点,相同的云原生归宿二、 部署与运行:在K8s中的不同生存哲学与实践三、 配置、监控与可观测性:生态工具链的碰撞四、 微服务架构:框架与平台的竞合五、 总结:殊途同归&#…

作者头像 李华
网站建设 2026/7/7 17:41:05

一文搞定XGBoost模型!!

Hi,我是cos大壮~ 今天咱们就来好好唠唠——XGBoost到底是个啥,它又能怎么搞定分类任务~ 先把核心信息摆明白:XGBoost的全称是eXtreme Gradient Boosting,直译过来就是“极端梯度提升”。 用大白话解释的话,…

作者头像 李华
网站建设 2026/7/7 17:40:36

【最新汇总】免费降AI率工具和免费查重工具,一篇文章讲清楚!

市场上的降AI率工具良莠不齐,如何科学判断降AI率效果是很多学生、老师最关心的问题,担心降不来AI率,耽误时间还花不少钱。 本文将从以下五个维度系统,分析2025年主流的8个降AI工具,教大家如何选择适合自己的降AIGC工具…

作者头像 李华
网站建设 2026/7/7 13:11:58

Bruno API事务测试实践:从零掌握原子操作验证

Bruno API事务测试实践:从零掌握原子操作验证 【免费下载链接】bruno 开源的API探索与测试集成开发环境(作为Postman/Insomnia的轻量级替代方案) 项目地址: https://gitcode.com/GitHub_Trending/br/bruno 你是不是经常遇到这样的情况…

作者头像 李华