为了提高 UI 自动化测试的稳定性,拓展更多的测试场景,我们在 UI 自动化测试中引入了图像识别并取得了不错的效果,希望下面的介绍可以给各位测试友友们一些启发和帮助。
UI 自动化测试经常会碰到发布图片,更换头像,设置背景的场景,我们如何判断设置后的图片是否正确呢?这里我们以发布一张图片动态为例进行说明,当我们选择一张图片后,我们可以点击进行放大,并且截图保存,记录为期望结果,然后发布后在动态中点击发布后的图片也进行放大,再次截图保存,记录为实际结果。现在我们要做的就是通过 python 的 opencv 库来对这两张图片进行相似度对比,来判断两者是否一致。
UI 自动化测试中除了可以通过 id 和 xpath 进行元素定位并点击外,还可以通过识别指定的图片然后返回所在坐标,然后通过 tap 的方式进行点击,大家可以试试,效果和稳定性也是不错的,当 id 或者 xpath 没有或者不容易获取时,可以当做一个兜底方案,会有意想不到的效果。
UI 自动化测试用例设计时,大家经常会碰到页面元素的文字无法用 id 或者 xpath 进行定位,弹窗内容消失的太快来不及定位的场景。这时我们就可以先截图然后使用图片识别来获取图中的文字并返回对应结果或者坐标来快速的处理问题。
这种文字识别的脚本大家可以不用自己写,可以调用各大 AI 平台的现成 API,大部分都收费,但是基本都有免费配额,可以多申请几个账号轮换使用,如果使用率不高足够用了,这里就不放具体脚本了。
图像识别的应用场景还有很多,欢迎大家补充,上面我只是列出了我们 UI 自动化测试中所涉及的场景,多谢!