程序聚合 软件案例 Android 多设备 UI 自动化测试与智能任务调度系统

Android 多设备 UI 自动化测试与智能任务调度系统

2026-06-26 00:55:07
行业:大数据
载体:Windows应用
技术:Python

业务和功能介绍

本项目旨在解决批量 Android 终端执行重复性业务流程时人工效率低、定时精准度差、多设备难以协同等痛点。系统整合设备群控、视觉识别、分布式任务调度等技术,构建了一套高可用的自动化操作平台,适用于需要大规模设备并发执行定时或即时任务的各类业务场景。
软件核心功能涵盖:多设备自动发现与并发管理;基于 Redis 的分布式任务队列与优先级调度;定时任务与即时任务双模式支持;基于 OCR 文字识别与 OpenCV 图像模板匹配的 UI 元素智能定位;可视化参数配置与执行状态监控;异常重试与屏幕变化检测等容错机制。
核心功能模块包括:
设备管理模块:通过 ADB 协议自动扫描局域网内在线 Android 设备,动态维护设备池,支持多设备并行接入与状态监控。
视觉识别模块:集成阿里云 OCR 服务实现全屏文字识别与坐标提取,同时基于 OpenCV 实现图像模板匹配,提供双重元素定位策略,适配不同 UI 场景。
任务调度模块:采用 Redis 有序集合作为中央任务队列,以时间戳为 Score 实现任务的精准排序;Dispatcher 进程轮询分发,支持即时执行与"预执行-正式执行"两阶段复杂时序逻辑。
自动化引擎模块:基于 uiautomator2 封装点击、滑动、应用启停、截图等原子操作,支持区域限定点击、偏移点击、索引点击等高级交互模式。
配置与监控模块:基于 TKinter 构建 Windows 桌面配置端,支持业务参数录入、设备选择、功能模式切换、实时日志展示与任务状态反馈。
业务流程描述:用户通过可视化界面配置目标业务流程参数(如区域、分类、目标对象、索引等)及期望执行时间;系统校验参数后生成结构化任务并序列化存入 Redis 队列;Dispatcher 按时间策略轮询,将到期任务推送至对应设备的 Worker 进程;Worker 驱动设备完成解锁、应用启动、页面导航、元素识别与点击、结果确认等全链路操作;最终系统生成独立日志文件并反馈执行结果。

项目实现

整体架构采用"调度中心-执行节点-消息队列"三层分布式设计。调度中心(Dispatcher)负责任务轮询、设备状态检查与任务分发;执行节点(Worker)以独立操作系统进程运行,通过 multiprocessing.Queue 接收任务并调用自动化引擎;Redis 作为中央消息队列,利用 Sorted Set 按时间戳排序,天然支持定时任务的优先级调度与延迟消费。
各模块技术选型如下:
设备通信与 UI 自动化:uiautomator2 提供高层 Android UI 操作 API,ADB 提供底层设备连接与 Shell 命令支持;
视觉识别:阿里云 OCR API(RecognizeAllText)负责文字检测与识别,返回 Block 级坐标与置信度;OpenCV(cv2.matchTemplate)负责图像模板匹配,采用 TM_CCOEFF_NORMED 算法,置信度阈值设为 0.65;
任务调度与状态机:Redis 有序集合存储任务 JSON,score 为 Unix 时间戳;通过 pre_ran、pre_run_only、immediate 等状态标记实现预执行与正式执行的流程切换;
桌面端界面:TKinter 实现跨平台 Windows 应用,支持 Combobox 设备选择、Entry 参数录入、Radiobutton 功能模式切换、Label 实时状态更新;
日志与持久化:按"设备 ID + 业务参数 + 时间戳"命名规则生成独立日志文件,支持多设备并发时的日志隔离与追溯。
我负责系统整体架构设计与全部核心模块的开发实现。量化成果包括:独立完成 5 个 Python 模块(OCR 工具、Dispatcher、Worker、业务逻辑、GUI)的开发与联调;实现单调度中心对多设备并发支持(实测 4 台设备同时稳定运行);OCR 接口封装后识别成功率达 95% 以上;图像模板匹配平均响应时间低于 2 秒;定时任务调度误差控制在 1 秒以内;系统累计无故障运行时长超过 200 小时。
开发过程中遇到的关键难点及解决方案:
多设备并发端口冲突:uiautomator2 默认使用固定本地端口,多 Worker 进程同时启动会产生端口抢占。解决方案为每个 Worker 启动时随机分配 19008–19999 范围内的独立端口,通过 settings.proxy_port 动态注入,实现进程级网络隔离。
OCR 返回格式与业务框架兼容:阿里云 OCR 返回的 BlockPoints 为 JSON 对象数组,而业务框架期望的是 OpenCV 风格的 (x, y) 元组列表。解决方案是封装 OCR 适配器类,在 readtext 方法内部完成格式转换,对外暴露与原生框架一致的 (box, text, score) 三元组接口,实现零侵入式替换。
复杂时序任务的精准

示例图片视频


fz2026
30天前活跃
方向: 爬虫/脚本-爬虫/脚本、
交付率:100.00%
相似推荐
恒康营销之星
工作描述:apicloud开发,实现h5页面打包生成混合app,使用echart 构建各类报表、调用apicloud模块实现二维码扫描二维码查询库存、授权平台实现app权限的管控 运用技术: 1、基于DIV+CSS实现页面布局和highchart 显示图表的展示 2、基于apicloud原生模块和jquery实现数据的绑定和交互 3、apicloud封装的模块、apicloudStudio实现无线同步、浏览器上调试页面、在手机上同步app功能、 4、基于git 代码管理, 5、采用云编译打包生成apk文件和ios 的ipa,熟悉ios 上线打包和生成ios 证书等。
跨境电商多端
跨境电商商城与货舱仓储管理小程序,面向跨境买家与仓库管理人员。包含商城首页、商品、购物车、拼团、实名认证、钱包支付、推广海报;货舱模块完成仓储业务管理,支持系统消息推送;配套后台实现发票开具、首页配置、分销售后管理,构建完整跨境电商交易闭环。
京尔思 B2B 全链路系统
包含客户小程序、工厂协同平台、权限管理后台三套子系统。覆盖产品定制、配方解析、合同签署、多工厂报价生产、企业认证、开票完整业务。后台实现角色菜单权限管控、订单物流、支付凭证管理,统一表单校验、异常拦截,服务上下游客户与工厂协同办公。
某汽车品牌官方商城与新零售运营中台
1、立项背景和目标 面对汽车行业新零售模式的兴起,某汽车品牌亟需一套能够同时支撑“整车直销”与“车品零售”的综合性业务底座。本项目作为广本新零售与直销业务的核心中台,旨在打通线上营销获客与线下门店交付的业务壁垒,构建一套高可用、支持高并发的大型电商与客资运营中台,最终实现精准营销引流与财务清算的全面数字化。 2、软件功能、核心功能模块的介绍系统由面向 C 端的移动端应用矩阵与面向 B 端的多租户管理后台组成。核心模块涵盖: 混合订单管理中心:兼容并支撑整车直销(订金/尾款/门店交付)与车品零售(物流发货)两套完全异构的业务流。 统一支付网关:无缝对接并封装微信、支付宝、民生及中金支付等多种支付渠道。 多租户渠道管控系统:支持上游供应商、特约店(4S)与二网店的库存调度与复杂财务清算。 企微直营客资闭环:深度接入企业微信 API,将线上线索无缝连接至线下销售终端。 3、业务流程、功能路径描述 核心业务路径如下:C 端用户在小程序或 APP 访问由“千人千面”动态组件渲染的营销页面,参与爆款车抢购或车品秒杀;下单后,系统根据商品类型触发底层的混合订单状态机,通过统一网关完成支付收口;随后,“企微直营”模块将线上购车线索精准路由分发给对应的线下销售顾问,形成私域跟进流转的业务闭环;交易彻底完成后,B 端系统自动进行跨租户的库存调度与财务清算。
quick_server
1、背景和目标:对企业所有服务请求进行轻量级安全和速度优化,减轻服务器的并发压力。 2、quick_server系统,不依赖外部引用,即插即用,主要用来进行极速快捷安全的http请求。大大减轻服务器的并发压力。轻松实现高并发场景下极速快捷安全的http请求。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服