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

python+uiautomator2+adb_环境搭建

uiautomator2是基于google uiautomator的安卓UI自动化框架,支持python编写测试脚本对设备进行自动化控制。原理是在设备上运行http服务器,将http接口封装成python库

uiautomator只能使用java语言,每次都要上传到设备上运行,uiautomator2可以实现所见即所得的测试

环境搭建

1、前置条件:已安装python及adb环境;
2、安装uiautomator2:

pip install-U uiautomator2

3、连接安卓设备:
设备需开启开发者选项,开放权限

# 检查设备是否已连接adb devices

4、安卓设备安装ATX并进行初始化:
init指令向设备推送并安装 ATX 所需的服务组件,执行一次就完成初始化,重复执行会检测已安装版本,不会报错。

# 自动识别当前连接的单个设备,从默认源下载并安装 ATX 相关服务python-m uiautomator2 init# 使用国内镜像源,下载速度更快,解决国内网络下载失败问题,仅初始化指定序列号的具体设备python-m uiautomator2 init--mirror--serial $SERIAL

初始化内容:安装minicap、minitouch、atx-agent,启动atx-agent(负责屏幕显示、屏幕控制、监控uiautomator2的运行)

[I24013016:49:38init:156]uiautomator2 version:2.16.25[I24013016:49:38init:373]Install minicap,minitouch......[I24013016:49:38init:391]Already installed com.github.uiautomator apks......[I24013016:49:39init:350]Check atx-agent version

5、安装weditor

pip install-U weditor

6、打开weditor

python-m weditor# 或weditor

7、连接设备
选择对应系统,输入设备序列号进行连接,开启实时刷新。
左侧可以看到设备实时页面,中间是定位元素的信息,右侧是自动生成的代码区、代码运行、控制台日志等。

问题及解决方法

ATX初始化失败

python-m uiautomator2 init



在浏览器打开网址,可以看到报错403,这是因为网络限制无法访问该地址
解决方法是避开内网限制:
1、设置外网
2、设备开启USB网络共享给PC提供网络
3、笔电连接可访问外网的网络

python-m uiautomator2 init--mirror--serial $SERIAL
# 出现以下报错时去掉--mirrorusage:__main__.py[-h][-d][-s SERIAL]{version,init,screenshot,identify,install,uninstall,healthcheck,check,start,stop,current,doctor,console,purge}...__main__.py:error:unrecognized arguments:--mirror# $SERIAL要改成adb devices查询到的序列号......File"D:\Program Files (x86)\python\lib\site-packages\adbutils\_adb.py",line134,incheck_okayraiseAdbError(self.read_string_block())adbutils.errors.AdbError:device'$SERIAL'notfound

weditor安装失败

如果出现连接失败等问题可以考虑指定weditor版本

# 卸载旧版本pip uninstall-y weditor# 指定安装版本pip install weditor==0.6.4

AttributeError: ‘Device’ object has no attribute ‘address’

AttributeError:'Device'objecthas no attribute'address'

uiautomator2和weditor版本不匹配,新版 uiautomator2 删掉了 address 属性,旧版 weditor不兼容导致,给uiautomator2降级,重新初始化

pip install uiautomator2==2.10.2pip install weditor==0.6.4python-m uiautomator2 init python-m weditor

AttributeError: ‘MockStdout’ object has no attribute ‘flush’

AttributeError:'MockStdout'objecthas no attribute'flush'

根据python安装路径找到…\Python\Python38\Lib\site-packages\weditor\web\ipyshell-console.py,在文件中添加

defflush(self)_stdout.flush()

WEditor 加载不出画面或者无法实时同步

  1. 手机端「急救操作」
    彻底关闭 ATX 应用:在手机「最近任务」里上滑彻底杀掉 ATX
    重新打开 ATX:手动点击 ATX 图标,允许所有权限(悬浮窗、后台运行、屏幕录制、存储)
    关闭电池优化:设置 → 应用 → ATX → 电池 → 选择「无限制 / 不优化」
    保持 ATX 前台运行:不要把 ATX 切到后台,先开着再刷新 WEditor
  2. 电脑端「一键重置服务」
    在 CMD 里执行这 4 行,强制重置 ATX + 截图服务:
# 1. 杀死旧服务adb kill-server# 2. 重启 ADBadb start-server# 3. 重新推送 ATXpython-m uiautomator2 init# 4. 启动 weditorweditor

执行完后,手机会自动重装 ATX,一定要在手机上点「安装 / 允许」

  1. 第三步:WEditor 端「强制修复」
    关闭所有 WEditor 浏览器标签页,彻底清空缓存,清楚浏览器cookies
    连接设备后,先点「静态」,再切「实时」,不要直接开实时
    如果还是空白,点右上角「Dump Hierarchy」手动拉取一次画面
http://www.jsqmd.com/news/581623/

相关文章:

  • Git-Credential-Manager-for-Windows安全存储机制深度解析:如何保护你的Git凭证安全 [特殊字符]
  • Fluxion多语言支持终极指南:从.lang文件到本地化shell脚本的完整实现
  • 探讨白银地区好用的职业技能培训基地,怎么选择 - 工业品网
  • 3步释放硬件潜能:DiscreteDeviceAssigner设备直通工具让虚拟化性能提升200%
  • 快速验证ai模型差异:在快马平台一键切换openclaw的代码生成模型
  • 开源生命周期评估实战:企业级碳足迹分析解决方案
  • Anthropic一夜震撼升级:Claude获得「永久在线」,全球打工人变天
  • Express-Mongoose-ES6-REST-API调试技巧:Debug模块高级用法
  • 终极指南:Prefect 3.1.13如何通过全类型注解重构你的数据工作流
  • 2026年越南东盟石材展 ASEAN STONE - 新天国际会展 - 中国组团单位 - 新天国际会展
  • 2026年中国大型活动风险评估服务市场十大专业机构评测与推荐报告 - 博客万
  • JX3Toy终极指南:如何用自动化脚本轻松提升剑网3游戏效率
  • 深度解析字体融合技术:打造多语言支持的完整解决方案
  • 探讨2026年新疆好用的家装设计公司哪家性价比高 - 工业品网
  • MogFace-large模型版本管理实践:使用Docker镜像实现环境一致性
  • 2026年乌鲁木齐好用的家装设计专业公司推荐 - 工业品牌热点
  • Phi-4-mini-reasoning Chainlit教育评估:答题过程分析与能力图谱生成
  • 思源宋体完整使用指南:如何免费获得专业级中文字体解决方案
  • Apache NetBeans快速入门:从零开始构建第一个Java项目
  • 如何永久备份QQ空间青春记忆:GetQzonehistory完整备份指南
  • 记录:ESP8266使用AT指令连接阿里云实现数据的上传和下发以及温湿度功能全部过程。
  • 快速构建开源项目登录页:用快马平台十分钟生成openclaw101官网登录入口原型
  • 小象超市卡回收方法汇总与操作示范 - 淘淘收小程序
  • Windows 10终极清理:一键彻底卸载OneDrive完整指南
  • webgl-noise未来路线图展望:探索噪声算法的最新发展趋势
  • 4大维度全面掌控Cyber Engine Tweaks:打造专属赛博朋克2077体验
  • 终极指南:如何使用web3.py构建强大的DAO治理系统
  • 基于Qt与Windows HID输入重定向的实时按键映射引擎:QKeyMapper技术深度解析
  • 拓朋N56对讲机:边防哨所全天候通讯守护者
  • VOICEVOX未来展望:语音合成技术的发展趋势与路线图