APP UI自动化测试是鸡肋吗?

如题所述

第1个回答  2022-07-23
最近与一个朋友聊到了APP的UI自动化,他问我如何做APP的UI自动化。

我说了一下目前主流的方法是通过对UI的识别,然后触发操作,各种工具的原理差不多。当然,有更牛逼的,使用高清摄像头+机械臂,通过高清摄像头识别界面元素(基于位置定位),然后使用机械臂去点击操作。完全模拟人去操作。只是这套装备很昂贵,大概60万左右。

我个人意见,如果APP功能比较多,大部分功能和界面比较稳定,这时可以给稳定的功能做UI自动化测试,每当版本更新时,使用UI自动化用例来保证这些功能不受影响。

而实际情况是,大部分APP更新比较快,这时做UI自动化测试时不划算的,因为要花大量的时间去维护自动化测试脚本,并且UI自动化测试脚本运行并不稳定。另外,大部分的APP是to C的,to C的产品相对to B产品而言,更注重用户体验,而用户体验的部分,UI自动化是很难测试到的,比如:动画现比较平滑、页面流畅不卡顿等等。

这个朋友问了我另外一个问题: 我们是to C的APP,当服务端更新时,我们需要保证用户手机上的各种旧版本APP能够正常运行,怎么办?

我说,这是一个非常典型的场景,但这个问题的解决方式不是做APP的UI自动化,而是做服务端的接口自动化。每当服务端更新,只要确保服务端提供给APP调用的接口行为不变,确定的输入有确定的输出,而旧版本APP没有更新,完全不用测试。举个例子,登录接口,使用用户名admin、密码123456时,服务端返回如下响应:

无论服务端怎么变化,我每次使用相同用户名和密码登录时,服务器都给我返回同样的响应,就能确保以前所有老版本的APP登录没有问题。

至于如何做接口的自动化测试,则是另外的问题了。如有兴趣,可以找我了解。