底下的 不用看了 为了凑字
基于 AI 的移动端?自动化 测试框架的设计与实践 何梁梁伟 爱奇艺资深 Android 架构师
3. 何梁梁伟 资深 Android 架构师 ? 爱奇艺资深 Android 架构师 ? 沪江学习 Android 团队负责?人 ? Kotlin 早期布道者 ? KotlinThree 发起?人
4. ? 理理想中的 UI 测试框架 ? 深度学习带来的机会 ? Aion 的诞?生 ? Aion 的优势与挑战 ? AI 未来
5. ? 易易于开发和维护 ? 稳定性 ? 执?行行效率 ? 跨平台 ? 跨应?用 ? ?支持 Hybrid How
6. ?支持语?言 控件捕获 UIAutomator Appium Java/Kotlin 较?高 Java、Python、 Ruby等 ?高 Robotium Java 较?高 跨平台 否 是 否 跨应?用 是 是 否 ?支持 Hybrid 不不?支持 ?支持 ?支持 稳定性 中 中 中 Espresso UIAutomation Java/Kotlin JS 较?高 较?高 否 否 否 ?支持 中 是 ?支持 中
7. 传统框架的缺点 ? 跨平台能?力力差 ? 跨应?用能?力力差 ? 稳定性对ID依赖较?大 ? 控件捕获成本?高 ? dump 系统视图树?几率性的失败
8. ?一种?支持所?见即所得?自动化测试框架
9. Sikuli
10. AirTest
11. Sikuli&AirTest 的不不?足 ? 准确率不不?足 ? 没有层次结构 ? 代码稳定性差 ? 代码可维护性差
12. f点i击nd“(t‘atba”b?里’里?)面.“fviinpd”(的te按x钮t='会员').click() f点i击nd“(导‘航na”v上’)的.“f搜in索d(”i按m钮g='搜索框').click() s往c下ro滚ll动do,wn找_a到nd“_奇fi葩n说d(”'的co“v封er?'面)”.,fi点nd进('去延禧攻略略').click()
13. ? 图像切割 ? 图像分类识别 ? OCR ?文字识别 ? 图像相似度匹配 ? 像素点操作 能?力力的需求
14. ? 理理想中的 UI 测试框架 ? 深度学习带来的机会 ? Aion 的诞?生 ? Aion 的优势与挑战 ? AI 未来
15. Top5 准 确 率 从 75% 提 升 到 98%
16. OCR Accuracy 93% total accuracy 98% chars accuracy
17. ? 理理想中的 UI 测试框架 ? 深度学习带来的机会 ? Aion 的诞?生 ? Aion 的优势与挑战 ? AI 未来
18. PixelToApp
19. PixelToApp
20. 存在的问题 ? 复杂界?面处理理难度?大 ? 阈值设置适应性差 ? 瓶颈突破?比较难 ? 需要使?用?大量量算法,维护性差
21. Pix2Code train sample
22. 存在的问题 ? 准确度不不够 ? 中间?干预难 ? 训练素材标注成本?高 ? 切割精准度不不够
23. Aion 是怎么做的
24.
25.
26. core 图像切割 提取?子元素 条件判断 测试?用例例 截屏 场景判断 布局分类 AI 填充?子元素 执?行行/结束 传统测试框架
27. ?自定义算法 背景分块 切割 分布 相似切割 Jaccrad 相似切割 极?大空间 切割 直?方图 相似切割 元素Jaccrad 相似切割 前后景 分层
28. ?
29. [ [ 19., 300., 581.][ 830. , 945.5, 1061. ] ] [ [ 36. , 74.5, 113. ][162., 211., 260.] [336. , 459.5, 583. ][662., 710., 758.] [839., 893., 947.][ 987. , 1013.5, 1040. ] ] [ [ 36. , 74.5, 113. ][839., 893., 947.] ] [ [ 19., 300., 581.][ 830. , 945.5, 1061. ] ] (similarity, 0.856)
30. 0.856 0.994 0.948
31. 分 类 模 型 选 择
32. AI 优化
33. 素材分布不不均 5000 1000 500 10 脚本?生成 更更多应?用
34. Top-layer 到 Fine-tune 冻结 10 训练
35. 多结果并?用 结果 灰度图 MobileNet v2Shuf?eNet v2 原图 轮廓图
36. ? 理理想中的 UI 测试框架 ? 深度学习带来的机会 ? Aion 的诞?生 ? Aion 的优势与挑战 ? AI 未来
37. ?支持语?言 控件捕获 UIAutomator Java/Kotlin 较?高 Appium Java、 Python、 ?高 跨平台 否 是 跨应?用 是 是 ?支持 hybrid 不不?支持 ?支持 稳定性 中 中 Robotium Espresso UIAutomation Aion Java Java/Kotlin JS Python 较?高 较?高 较?高 低 否 否 否 是 否 否 是 是 ?支持 ?支持 ?支持 ?支持 中 中 中 较?高
38. 优势 ? 可?见即可得,易易于理理解和开发 ? 对系统框架依赖弱,跨平台 ? 稳定性强,不不?用担?心 ID 混淆的问题 ? 分类少,层次浅,视图捕获简单 ? ?无缝?支持传统框架
39. ? 准确率 ? 样本数量量 ? 执?行行时间 ? 极度复杂背景的元素提取 ? 特征极少的元素识别 ? 悬浮元素的提取 挑战
40. ? 理理想中的 UI 测试框架 ? 深度学习带来的机会 ? Aion 的诞?生 ? Aion 的优势与挑战 ? AI 未来
41. ? 错误界?面识别 ? ?子元素 AI 识别 ? ?页?面预加载 ? UI2Code ? 录屏分析 AI More
领取专属 10元无门槛券
私享最新 技术干货