首页 > 其他分享 >网易私有云新增的测试驱动力,Airtest-ocr文字识别点击真香!

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

时间:2022-11-24 12:00:35浏览次数:73  
标签:文字 ocr 真香 场景 测试 Airtest 识别

1. 前言

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

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

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

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

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

2. Airtest-ocr简介

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

1)Airtest-ocr的识别效果

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

可以看到,不论是对于 文本场景 还是 数字场景 ,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样式经常发生改动,我们直接根据小程序页面上关键的文字,来进行自动化测试:

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

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

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

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

3)验证码识别场景

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

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

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

4. 小结

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


Airtest官网https://airtest.netease.com/
Airtest教程官网https://airtest.doc.io.netease.com/
搭建企业私有云服务https://airlab.163.com/b2b

官方答疑 Q 群:117973773

呀,这么认真都看到这里啦,帮忙点个推荐支持一下呗,灰常感谢~

标签:文字,ocr,真香,场景,测试,Airtest,识别
From: https://www.cnblogs.com/AirtestProject/p/16921408.html

相关文章

  • Python - tesserocr
    目录安装安装教程:https://cuiqingcai.com/31102.html自己在安装过程中遇到的错误:RuntimeError:TesseractlibrarynotfoundinLIBPATH:[]可以直接使用whl文件来......
  • OpenHarmony集成OCR三方库实现文字提取
    作者:郭岳峰一、简介Tesseract(Apache2.0License)是一个可以进行图像OCR识别的C++库,可以跨平台运行。本样例基于Tesseract库进行适配,使其可以运行在OpenAtomOpenHar......
  • 推荐几个好用的pdf转word好用的网站(OCR)
    迅捷PDF转换器在线转换,带OCR超级PDF需要微信登陆,似乎有上线,不过识别率还行......
  • python ddddocr图片验证码详解
     下载地址:https://pypi.tuna.tsinghua.edu.cn/simple/ddddocr/安装命令:pipinstallD:\ChromeCoreDownloads\ddddocr-1.3.0-py3-none-any.whl-ihttps://pypi.tuna.ts......
  • PaddleOCR(PaddleHub Serving)离线部署包制作
    PaddleOCR(PaddleHubServing)离线部署包制作环境与版本:系统CPU架构Anaconda3PaddlePaddlePaccleOCR银河麒麟ServerV10X86Anaconda3-2021.04-Linux-x86_......
  • StoreKit2 有这么香?嗯,我试过了,真香
    前文PurchaseX迎来首次新的更新啦!此次更新引入了Apple新推出的StoreKit2框架。想必开发过In-App-Purchase的同学肯定都应该体会过被他生涩难懂的API,复杂的消息回调,......
  • AirtestIDE和Airtest环境相关问题FAQ
    上期回顾:在Airtest自动化中如何清除iOS后台应用环境相关问题pipinstall-Uairtest无限超时使用pip命令安装Airtest,如果出现无限超时的问题,是因为默认源是国外服务......
  • 身份证识别 python + OCR
    包括只有2个文件,video.py是测试在线摄像头的代码,IDrec.py是识别身份证的代码。使用方法:版本:python3.6.9github:​​https://github.com/lvxiaojie111/OCR​​下载源码,并安......
  • 实战 | Halcon实例转OpenCV实现-复杂背景下OCR数字识别(附源码)
    导读本文主要介绍一个复杂背景下OCR数字提取识别实例,并将Halcon实现转为OpenCV。实例来源Halcon例程ocrcolor.hdev,例程代码精简修改如下:*Author:ColorSpace*来源-公众......
  • 我用PaddleOCR把Halcon论坛的OCR帖子试了一遍,结果。。。
    导读本文使用PaddleOCRv2.6对Halcon论坛的部分OCR帖的图片做识别,并做简单总结。(公众号:OpenCV与AI深度学习)背景介绍  关于PaddleOCR以及新版本(v2.6)的介绍与使用前面已......