前文 微信小程序自动化测试——智能化 Monkey 提到 Monkey 虽然使用简单方便,但是不支持输入文本,页面逻辑校验等操作。如果用户希望做自动化回归测试,那么必然会涉及到逻辑相关校验点,这时候可以尝试 录制回放的方案。

下面我们具体看看如何操作

一、开发者工具录制用例

录制用例可以参考 官方文档 和 小程序云测服务 录制回放教程 。这里有几点需要特别注意:

二、在云测服务回放用例

具体操作可以参考 录制回放教程。一般操作步骤如下:

三、回放失败排查

录制回放测试因录制与回放平台不同、缓存数据无法同步、小程序版本差异等,录制回放初期需要用户调试脚本,存在一定回放失败率。这时云测提供了详细的错误信息,帮助开发者排查失败原因

我们也总结了一些常见失败原因如下:

1、缓存问题

录制没有清缓存,导致回放时进入到登录页面,不能顺利进入测试页面。例如下图中,在回放时由于没有缓存,进入小程序后,先进入了登录授权界面,导致校验页面跳转和预期不一致而失败。

解决方案:录制前一定要记得清除所有缓存

2、后台请求不一致

录制和回放时,后台请求返回不一致失败。例如下图中,回放定位的位置拉取的数据只有一条,而录制的数据时点击的是第九条数据,后台返回内容不一致导致失败

解决方案:可以通过 mock 后台请求来,确保回放返回的数据和录制的数据保持一致,具体做法是,录制的时候打开 mock 开关

3、回放时多了弹窗

真机回放每次都会重装,登录微信,是一个干净的测试环境,拉起小程序时可能会有授权弹窗。例如下图中,在点击过程中多了蓝牙授权弹框,导致页面没有跳转而失败

解决方案:可以在提交任务时,打开 Auto Authorize 开关,会回放过程中自动点掉授权弹窗

4、查找不到元素

即使云测的回放逻辑对查找元素做了多层兜底,但还是可能找不到。比如录制时和回放版本不一致,小程序版本变更,导致录制的 ID 变化等等

解决方案: 先将错误的 wxml 文件下载下来,拖动到开发者工具,点击右键格式化来手动确认该元素是否存在,具体操作可参考 录制回放常见问题。确认不存在时,可以看看测试报告中小程序版本信息,是否和录制一致。对于小程序迭代比较快,页面结构变化就会导致 xpath 查找失败,可以检查录制的版本和回放的小程序版本是否一致,也可以建议开发增加 id 或者 class 等可以唯一查找到元素的标示,这样可以增加 case 的稳定性

四、最佳实践

云测服务有许多优秀团队体验,慧医天下测试团队就是其中之一。
慧医天下测试团队原来主要依赖手动测试,由于疫情原因,在线医疗需求激增,业务高速发展,测试人力不足,希望能快速从零开始搭建自动化测试方案,提升测试效率,保障产品质量
这里慧医天下团队利用录制回放能力,快速生成自动化测试用例。
目前核心业务逻辑已做到全自动化覆盖,录制用例100 多个40%以上的用例已实现自动化回归。原来核心用例回归需要团队手动回归 4 小时,现在只需要2 小时即可完成,大部分用例通过自动化方式执行,回归测试效率提升一倍。

总结

录制回放的核心优点:

但是录制回放也有一定缺点,比如:

那怎么解决地图组件等复杂用例问题,敬请参考《微信小程序自动化测试》后续系列文章
微信小程序自动化测试——自定义测试

需要帮助


↙↙↙阅读原文可查看相关链接,并与作者交流