AI移动自动化测试框架设计(解读)

本文涉及的产品
教育场景识别,教育场景识别 200次/月
自定义KV模板,自定义KV模板 500次/账号
OCR统一识别,每月200次
简介: AI移动自动化测试框架设计(解读) 理想种的移动UI自动化框架: 易于开发和维护 稳定性 执行效率 跨平台 跨应用 支持Hybrid(混合应用) 传统的UI自动化框架(UIAutomator、Espresso、appium等),或多或少在这些方法做的不够完美。

AI移动自动化测试框架设计(解读)

理想种的移动UI自动化框架:

  • 易于开发和维护

  • 稳定性

  • 执行效率

  • 跨平台

  • 跨应用

  • 支持Hybrid(混合应用)

传统的UI自动化框架(UIAutomator、Espresso、appium等),或多或少在这些方法做的不够完美。


那么理想中的框架应该是什么样的?

模拟用户的操作,用户在操作的时候是不需要知道控件的属性(ID、name)的,它应该是一种所见即所得的操作。

所以,像Sikuli 、AirTest这样的基于图片识别技术的测试框架就很好。

但是,它们也有一些不足:

  • 准确率不足

  • 没有层次结构

  • 代码稳定性差

  • 代码可维护性差

如果,测试脚本可以变成这样:

这个样的脚本表达接近我们的自然语言。比如,点击标签上的会员按钮,就变成 find('tab').find('会员'),代码的维护性也会变得很好。


要实现这样的框架需要哪些技术:

  • 图像切割

  • 图像分类识别

  • OCR文字识别

  • 图像相似度匹配

  • 像素点操作

图像切割:可以把一整张图片切割出不同的块,比如一张App的截屏,可以切割成导航栏、视频封面列表、搜索框等不同的块。

图像分类识别:对上面切割的块进行分类,需要图像分类的能力。

OCR文字识别:依赖图像 OCR 的识别能力,知道对应的视图里面有哪些文字。

图像相似度匹配能力:这一点传统的图像处理库就可以实现。比如Python的pillow库。

像素点的操作:可以依赖传统的框架,比如通过坐标完成操作,也可以使用机械臂来完成像素点的操作。


深度学习带来的机会

在深度学习以前,图像分类领域的准确率一定在75%以下,引入深度学习使准确率提高到98%、99%。有文章说准确率达到95%说明已经超过人类了,这是一个相当高的水平。

识别率在逐年提高。

ORC的能力主要体现在:完整准确率和文字准确率。

完整的准确率是指,在一个截图里面,会有一些标题和词组,如果标题里面有一个字出现了错误,就认为这个标题的识别是错误的,通过这种方式,准确率能够达到93%。

文字的准确率,是将一张截图分割成多个块,然后识别出每个块上的文字。因为已经分割了块,所以识别率可以达到98%。


终于介绍到AIon框架了。

有了上面这些技术做为基础以后,就可以尝试AIon框架实现了。

这中间还介绍了UI2Code 、pix2code两个“类似”框架的。它们是将截图生成用户界面代码,感兴趣可以百度了解。

这里直接介绍Alon的工作方法。敲黑板!这里考试重点。

AIon 会把一个截图切成几块:tab、导航、状态栏等,然后用深度学习图像分类,对每一块进行分类识别,识别完了以后,就会把对应块里的子元素提取出来,再用一些AI的技术,提取里面的内容,把它填充到子元素的属性里面去,最后就会得到二级视图树的结构,最后,就可以去做对应的点击操作了。


AIon的处理过程:

比如要实现一条测试用例,

首先截屏,对它进行场景判断,场景判断会应用到一些AI分类识别,识别出当前界面有没有弹出对话,或者它是否是登陆页的场景识别。场景识别完了以后,就会进行传统的图像切割,图像切割完了以后,进行布局分类,布局分类也会应用到一些AI的技术,分类完了以后,进行子元素的提取,对这个子元素进行填充,填充会应用到一些AI的技术。

最后,当视图树构建完了之后,匹配之前写的测试用例里面的条件进行匹配,匹配之后,执行测试用例,这就是整个AIon的核心流程。

由于考虑到之前的一些测试用例,还有一些传统的测试框架写的测试用例,本身还做了对传统测试框架的融合。

AIon的处理过程中涉及到一些技术问题这里就省略了,通篇阅读下来有点像论文。强烈建议阅读原文,我这里只是简化了对原文的解读。

从中get到了一些基于AI实现自动化框架的思路。未来的自动化测试肯定会越来越使用更简单,功能更强大。要么去实现AI自动化框架,要么被AI自动化框架淘汰!你选吧!

阅读原文

相关文章
|
23天前
|
人工智能 Kubernetes jenkins
容器化AI模型的持续集成与持续交付(CI/CD):自动化模型更新与部署
在前几篇文章中,我们探讨了容器化AI模型的部署、监控、弹性伸缩及安全防护。为加速模型迭代以适应新数据和业务需求,需实现容器化AI模型的持续集成与持续交付(CI/CD)。CI/CD通过自动化构建、测试和部署流程,提高模型更新速度和质量,降低部署风险,增强团队协作。使用Jenkins和Kubernetes可构建高效CI/CD流水线,自动化模型开发和部署,确保环境一致性并提升整体效率。
|
15天前
|
人工智能 数据库 决策智能
Archon – 开源 AI 智能体框架,自主生成代码构建 AI 智能体
Archon 是一个开源的 AI 智能体框架,能够自主生成代码并优化智能体性能,支持多智能体协作、领域知识集成和文档爬取等功能,适用于企业、教育、智能家居等多个领域。
117 10
Archon – 开源 AI 智能体框架,自主生成代码构建 AI 智能体
|
19天前
|
存储 人工智能 监控
Mahilo:多智能体实时协作框架开源!人类与AI无缝交互,复杂任务一键协同
Mahilo 是一个灵活的多智能体框架,支持创建与人类互动的多智能体系统,适用于从客户服务到紧急响应等多种场景。
79 2
Mahilo:多智能体实时协作框架开源!人类与AI无缝交互,复杂任务一键协同
|
17天前
|
机器学习/深度学习 人工智能 算法
PRefLexOR:MIT自进化AI框架上线!动态知识图谱+跨域推理,重塑自主思考
PRefLexOR 是 MIT 团队推出的新型自学习 AI 框架,结合偏好优化和强化学习,通过递归推理和多步反思,动态生成知识图谱,支持跨领域推理和自主学习。
95 3
PRefLexOR:MIT自进化AI框架上线!动态知识图谱+跨域推理,重塑自主思考
|
23天前
|
人工智能 算法 测试技术
OctoTools:斯坦福开源AI推理神器!16项测试准确率碾压GPT-4o,一键搞定复杂任务
OctoTools 是斯坦福大学推出的开源智能体框架,通过标准化工具卡片和自动化工具集优化算法,显著提升复杂推理任务的解决效率,支持多领域应用。
68 3
OctoTools:斯坦福开源AI推理神器!16项测试准确率碾压GPT-4o,一键搞定复杂任务
|
23天前
|
人工智能 自然语言处理 搜索推荐
PhotoDoodle:设计师必备!AI一键生成装饰元素,30+样本复刻风格+无缝融合的开源艺术编辑框架
PhotoDoodle 是由字节跳动、新加坡国立大学等联合推出的艺术化图像编辑框架,能够通过少量样本学习艺术家的独特风格,实现照片涂鸦和装饰性元素生成。
53 1
PhotoDoodle:设计师必备!AI一键生成装饰元素,30+样本复刻风格+无缝融合的开源艺术编辑框架
|
16天前
|
机器学习/深度学习 设计模式 测试技术
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
|
24天前
|
存储 人工智能 开发框架
Spring AI Alibaba 应用框架挑战赛圆满落幕,恭喜获奖选手
第二届开放原子大赛 Spring AI Alibaba 应用框架挑战赛决赛于 2 月 23 日在北京圆满落幕。
|
24天前
|
人工智能 自然语言处理 并行计算
MeteoRA:多任务AI框架革新!动态切换+MoE架构,推理效率提升200%
MeteoRA 是南京大学推出的多任务嵌入框架,基于 LoRA 和 MoE 架构,支持动态任务切换与高效推理。
63 3
|
25天前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.49 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.49 (macOS, Linux, Windows) - 开源渗透测试框架
37 0
Metasploit Framework 6.4.49 (macOS, Linux, Windows) - 开源渗透测试框架

热门文章

最新文章