目前我司主要业务都是 flutter 写的,目前还遇到一些问题,大概讲一下自己使用体会。
目前了解到的部分使用 airtest ,通过图像识别,来定位校验。 个人觉得过于依赖图像识别,运行效率以及准确度都差强人意。 另一种方式:借助原生框架如 uiautomator2、 wda 的原生定位能力, 获取 name xpath label id test classname , 获取不到的使用图像识别技术弥补。sonic 是很好的选择。
第一个问题,跟开发讨论过,直接加 key,没有效果。 目前在控件中 增加 semantics label 可以给控件增加唯一标识信息。 但是这个标识只会显示在 content-desc 里。 目前还没找到可以添加到 resource-id 或者其它字段的方法。目前已经给作者提了需求,来获取 content-desc 内容去校验结果。
第二个问题,本来以为是 appium 的问题,后来发现是 flutter 版本过低,当时用的 2.5 吧貌似, 后面升级到最新版本就可以解决了,看来 flutter 也再不断的去适应大众需求。
第三个问题,目前还没解决,不知道包一层 semantics 是否可以,后续再让开发调试看看。
目前整体来说,点击处理没什么问题, 校验结果还需要 Sonic 支持更多的功能。 还是希望未来 sonic 能有更好的方案来对接 flutter 应用的测试。 在这里也强烈安利下 Sonic。 很好的开源项目,期待大家一起共建!!
(大家在 flutter 测试中,有什么更好的方法,也可以留言交流学习一下。)