Android UI自动化测试框架的痛点与解决方案

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1.
2.
3.
4. O1 O2 O3 技术痛点 服务方案 通信方案 O4 展望
5. 自动化测试技术的业务场景
6. 具体的应用案例分析 需求: 1、自动化测试短视频应用,并保留操作过程的信息(录屏); 2、云真机平台实时展示测试过程(声音); 3、人工介入自动化流中的例外情况(弹窗); 4、 自动化执行检索(录入中文); 问题: 1. 业务脚本的适配性 2. 云真机平台服务与自动化脚本同时运行,并控制设备操作(输 入文本、操作屏幕、发送按键); 3. 如何录入中文; 4. 如何处理应用权限; 5. 有些控件无法通过文本或ID等特征识别(图片中绘制的控件); 6. 云真机平台如何在浏览器上播放手机声音;
7. 痛点
8. 业务脚本适配(uiautomator1.0 兼容问题) 1、初始化测试服务UiAutomation 2、初始化U1测试框架:UiDevice
9. 中文录入(uiautomator1.0 测试框架不支持) 1. 依赖自定义输入法输入中文 2. 测试框架内录入中文
10. 准确判断应用授权情况 AppOps 判断权限状态  可以判断所有权限的授权状态  定位权限、悬浮窗权限可以直接授 权  可以取消授权  通过package info获取应用申请的权 限,精准判断 Shell 命令查看授权状态
11. 计算机视觉处理(按图行搜索不能定位的控件) 图片搜索 OCR 耗时长,1S左右 混合字符识别率低 图片比对 耗时长,200ms左右 图片分辨率必须一致 搜图 耗时长,1S左右 容易收到干扰 解决分辨率不统一问题
12. 多媒体处理(音视频转发)  录制带麦克风声音的屏幕无法实时转发;  依赖App转发屏幕或声音的服务稳定性差; 录音 录屏 录制麦克风声音 录制屏幕 实时转发麦克风声音 录制带麦克风声音的屏幕  转发屏幕信息需要依赖推流服务;  录屏操作每次都需要授权; 实时转发屏幕信息
13. 服务方案
14. 利用反射技术初始化uiautomator1.0脚本
15. 利用Android app提供个性化测试服务 输入法 图片处理 多媒体 输入中文 图片比对 录屏 增量输入 图片搜索 录音 发送按键 文本识别 转发音频
16. 通信方案
17. 利用ContentProvider服务提供稳定通信 1. 应用间共享数据的服务; 2. 应用停止运行时也能正常提供服务; 3. 基于Binder实现跨进程通信; 4. 不可传输超过1M的数据 5. Shell进程可以通过IContentProvider 访问内容提供者
18. 构建Http Server 通信服务解决大文件传输 1. 基于Netty框架; 2. 框架广泛应用于分布式计算、游戏和通信等行业,服务稳定可靠; 3. 可并发处理Get、Post请求; 4. 可以自定义传输数据量; 5. 便于统一定制消息接口,规范测试系统协议;
19. 展望  Shell进程实现基础服务,可以按需初始化U1;  Shell进程提供测试所需功能,可依赖内部 App实现个性化功能;  业务脚本可以集成Shell进程框架,调用API完 成测试;  业务脚本可以在局域网内或手机内通过 get/post请求调用测试功能;  操作设备实时性要求高的业务中通过socket 通信,以Protobuf协议封装接口;  通过App实现测试赋能
20. 360技术 THANKS 360质量效能

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-16 02:30
浙ICP备14020137号-1 $Map of visitor$