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

简介: 网易私有云新增的测试驱动力,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月前
|
文字识别 容器
文字识别OCR常见问题之本地部署如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
40 3
|
1月前
|
文字识别 前端开发 API
文字识别OCR常见问题之处理产品图片识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
22 3
|
1月前
|
文字识别
文字识别OCR常见问题之拦截扫描件的识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
20 2
|
1月前
|
数据采集 文字识别
文字识别OCR常见问题之目标区域和KV区域区别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
29 2
|
1月前
|
文字识别 API 开发工具
文字识别OCR常见问题之买了资源包识别不成功扣次数如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
23 3
|
1月前
|
存储 文字识别 算法
文字识别OCR常见问题之图片超过40M不返回结果如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
49 2
|
1月前
|
人工智能 文字识别 数据可视化
文字识别OCR常见问题之pos节点的x y好像不准确如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
23 0
|
1月前
|
文字识别
文字识别OCR常见问题之卡证票据包含营业执照如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
25 2
|
1月前
|
机器学习/深度学习 文字识别 并行计算
【C/C++ OCR识别】深入探索:Qt C++与OCR识别的完美结合
【C/C++ OCR识别】深入探索:Qt C++与OCR识别的完美结合
86 2
|
1月前
|
机器学习/深度学习 文字识别 API
文字识别OCR常见问题之发票真伪查询有接口如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
27 0

热门文章

最新文章