网易私有云新增的测试驱动力,Airtest-ocr文字识别点击真香!

本文涉及的产品
教育场景识别,教育场景识别 200次/月
企业资质识别,企业资质识别 200次/月
车辆物流识别,车辆物流识别 200次/月
简介: 网易私有云新增的测试驱动力,Airtest-ocr文字识别点击真香!

此文章来源于项目官方公众号:“AirtestProject”

版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

1. 前言

熟悉我们开源框架的朋友都知道,AirtestProject一直以来,都对外开源了2个自动化测试框架,Airtest和Poco,Airtest是基于图像识别原理的,Poco是基于控件识别原理的。

image.png

这2个自动化测试框架,大大降低了自动化测试的门槛,让自动化测试变得简单可行。但是几年的长期实践以来,我们也发现了这2个框架的一些局限性:

比如airtest图像识别的不准确性、airtest对于文字/数字场景识别效果差的问题 ;poco获取控件需要实现安装pocoservice.apk或者嵌入poco-SDK,poco目前不兼容最新的微信小程序(xweb页面)、H5页面等问题

针对这些局限性,我们推出了一款新的工具库:Airtest-ocr。顾名思义,它是 基于OCR技术 的,能帮我们识别定位到页面上的所有文字,匹配到文字以后,就可以非常便捷地做一些我们期望的自动化测试工作了。

image.png

下文,我们将详细介绍网易推出的这个新的自动化测试框架。

2. Airtest-ocr简介

如上文所述,Airtest-ocr主要是依赖 OCR 技术,能识别出来屏幕中所有的文字,与脚本中的待操作文字匹配后,可以执行相应的一些点击、滑动操作等。

1)Airtest-ocr的识别效果

我们用几张图来展示下Airtest-ocr模型的识别效果:

image.png

可以看到,不论是对于 文本场景 还是 数字场景 ,Airtest-ocr的识别效果都非常不错。

2)Airtest-ocr的识别效率

Airtest-ocr 提供轻重两种模式,默认情况下,会使用轻量级模式。好处是 运算速度快、算法模型小、消耗资源小 ,轻量级模式对 CPU 的压力要小很多,API 速度一般也能保证在2s内完成。

3)Airtest-ocr的API易于使用

为了减少新框架的学习成本,Airtest-ocr的脚本风格与Airtest保持一致,并且因为是文字识别的,所以脚本整体的可阅读性非常高:

# 点击某文字
ocr_touch("开始")  # 与 ocr_click("开始") 等价
# 双击某文字
ocr_double_click("开始")
# 某些情况下,文字处于按钮附近(比如按钮下方),使用offset设置点击偏移量
ocr_touch("开始", offset=(0, -20))  # 以“开始”文字的中心为起点, x轴不偏移,y轴向上偏移20个像素点
ocr_double_click("开始", offset=(0, -20))
# 指定高优先级区域 (version>=1.0.10)
ocr_touch("开始", location=(100, 100), threshold=0.98)  # 对于置信度高于0.98的多个 “开始”, 优先点击靠近 (100,100) 的
# ocr_swipe 与 swipe函数类似
ocr_swipe("生活", "学习")  # 从“生活”滑向“学习”
ocr_swipe("生活", vector=(0, 100))  # 从“生活”向下滑动100个像素
ocr_swipe((780, 1842), (780, 1000))  # 从坐标1滑向坐标2
......

3. Airtest-OCR的应用场景介绍

那么,这样一款基于OCR技术的自动化测试框架,都适用于哪些测试场景呢?我们简单给大家举几个例子~

1)微信小程序测试(或其它混合开发页面)

自从微信小程序/微信公众号页面改用xweb框架以来,Poco对其兼容性就不是特别好,经常出现识别不到控件的情况。如果全用Airtest截图,按照小程序的UI迭代效率,我们的图像脚本迭代成本也挺高的。

但是如果使用Airtest-ocr框架的话,我们的烦恼就会少很多了!因为无需担心识别不到控件,也无需担心UI样式经常发生改动,我们直接根据小程序页面上关键的文字,来进行自动化测试:

image.png

2)安装应用过程输入密码的场景

像oppo和vivo这类的手机,或者是iOS设备,在安装应用时,都有一个无法避免的问题,那就是输入密码。

类似的情况,还有初次打开应用时,需要点击的一系列权限弹窗。可以看到,这些页面,往往都是非常简单的文字识别场景,比如识别一些类似“安装”、“输入密码”、“同意”、“取消”等等文字。

这些应用场景下,airtest的识别文字可信度就没那么高了,更适合用Airtest-ocr来进行:

image.png

3)验证码识别场景

同理,对于一些数字验证码、字母验证码等,Airtest-ocr也能有不错的应用效果:

image.png

4)其它:游戏文本测试等

另外还有很多场景可以用到Airtest-ocr,比如在复杂的游戏场景中,进行游戏文本核验等场景等。

4. 小结

今天介绍的这款测试框架,是我们新加入到 网易私有云测试解决方案 里面的,感兴趣的朋友,也可以到我们群里交流。当然,我们Airtest开发组,后续也会持续研究新的自动化测试技术,在测试行业继续深耕!


AirtestIDE下载:airtest.netease.com/

Airtest 教程官网:airtest.doc.io.netease.com/


相关文章
|
1月前
|
存储 人工智能 文字识别
AI与OCR:数字档案馆图像扫描与文字识别技术实现与项目案例
本文介绍了纸质档案数字化的技术流程,包括高精度扫描、图像预处理、自动边界检测与切割、文字与图片分离抽取、档案识别与文本提取,以及识别结果的自动保存。通过去噪、增强对比度、校正倾斜等预处理技术,提高图像质量,确保OCR识别的准确性。平台还支持多字体识别、批量处理和结构化存储,实现了高效、准确的档案数字化。具体应用案例显示,该技术在江西省某地质资料档案馆中显著提升了档案管理的效率和质量。
|
5月前
|
文字识别
印刷文字识别使用问题之影响印刷体文字识别率包括哪些
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
5月前
|
文字识别 API 开发工具
印刷文字识别使用问题之如何提高OCR的识别率
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
5月前
|
文字识别 前端开发 API
印刷文字识别操作报错合集之通过HTTPS连接到OCR服务的API时报错,该如何处理
在使用印刷文字识别(OCR)服务时,可能会遇到各种错误。例如:1.Java异常、2.配置文件错误、3.服务未开通、4.HTTP错误码、5.权限问题(403 Forbidden)、6.调用拒绝(Refused)、7.智能纠错问题、8.图片质量或格式问题,以下是一些常见错误及其可能的原因和解决方案的合集。
|
4月前
|
机器学习/深度学习 文字识别 算法
百度飞桨(PaddlePaddle) - PaddleHub OCR 文字识别简单使用
百度飞桨(PaddlePaddle) - PaddleHub OCR 文字识别简单使用
320 0
|
5月前
|
JSON 文字识别 数据格式
文本,文字识别,Flask实现内部接口开发,OCR外部接口的开发,如何开发一个识别接口,通过post调用,参数是图片的路径,内部调用,直接传图片路径就行
文本,文字识别,Flask实现内部接口开发,OCR外部接口的开发,如何开发一个识别接口,通过post调用,参数是图片的路径,内部调用,直接传图片路径就行
|
5月前
|
存储 文字识别 算法
印刷文字识别使用问题之电商图片文字识别是否支持一次调用识别多张图片
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
5月前
|
文字识别 API
印刷文字识别使用问题之遇到个人证照识别文字识别错误,该怎么办
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
5月前
|
文字识别 Java API
印刷文字识别操作报错合集之复制文字识别OCR的标注任务时出现报错,该怎么办
在使用印刷文字识别(OCR)服务时,可能会遇到各种错误。例如:1.Java异常、2.配置文件错误、3.服务未开通、4.HTTP错误码、5.权限问题(403 Forbidden)、6.调用拒绝(Refused)、7.智能纠错问题、8.图片质量或格式问题,以下是一些常见错误及其可能的原因和解决方案的合集。
|
2天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
27 11