51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1951|回复: 1
打印 上一主题 下一主题

Appium Appium 下通过 OCR 的方式读取安卓的 toast 进行验证测试

[复制链接]
  • TA的每日心情
    郁闷
    2022-8-29 14:43
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2018-2-23 14:53:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    针对appium下安卓toast的验证,之前搜了一下发现还没有中文的讨论,而appium英文论坛上提供
    了这么一个思路的方法 这里是原帖,个人亲测有效,把过程和坑点给大家分享一下

    核心思路是通过tesseract这个开源的ocr软件来识别截图中的文字,通过判断toast中的文字是否在
    其中,来验证toast是否存在
    个人使用的是Python环境,主要的环境依赖就是两个库,pytesseract和pillow
    先是pip安装pytesseract和pillow,这个对任何平台都是一样的。
    然后是装tesseract软件本身,Ubuntu比较简单就 sudo apt-get install tesseract 即可,
    无奈本人的环境是win,因此碰到了麻烦,从 https://github.com/tesseract-ocr/tesseract/wiki/
    Downloads 可以看到官方只提供了老版本(3.0.2)的编译包和语言库,这个包是个坑,千万不要用,
    它的中文库识别能力几乎为0。光对比体积就能看出来了,这个库只有10m,新版本则为40m,
    所以大家千万不要用官方的老版本。

    然后下面有三个第三方包可选,个人的经验如下:
    第一个是dropbox的,公司网络虽然有梯子可惜禁了dropbox,因此不能下。(好坏未知)
    第二个是某德国大学的,我先下的这个,然而那个德国大学的下载地址速度只有几k,也是醉了
    第三个下载地址更搞笑,说自己无法提供host了,感谢另外一个人提供host,跳转到第三方的第
    三方之后,开始下载;
    最神奇的事情出现了,那个德国大学的下载速度忽然就被带起来了 = =!

    都下完了之后,考虑到那个第三方的第三方说自己都是beta包,我就还是装了那个大学的包,
    因此只有大学的包是亲测有效的,另外两个大家可以自行踩雷(姚明脸)

    当然,要识别中文,还要在 https://github.com/tesseract-ocr/tessdata 下载chi_sim的库来支持
    中文识别,然后把这个库复制到 'tessdata' 目录, 默认是 C:\Program Files\Tesseract OCR\
    tessdata 这样。

    最后就是运行了,准备工作和截图我就省略了,直接放一下验证的demo
    1. import pytesseract
    2. from PIL import Image

    3. toast_text = 'xxx'
    4. screenshot_text = pytesseract.image_to_string(Image.open('Screenshot.png'), lang='chi_sim')
    5. if toast_text in screenshot_text:
    6.   print 'toast is shown'
    7. else:
    8.   print 'toast is not shown'
    复制代码
    运行结果对于toast中文字的识别还是比较有效,毕竟toast文字的背景色比较固定,好识别,如果要用来
    识别app内部的内容,效果不稳定,大家可以自己尝试。


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-6-27 06:36 , Processed in 0.067118 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表