录制回放方便小程序的开发者可以进一步指定测试场景,官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/minitest/replay.html
这里总结了下录制回放出现问题时的排查思路:
展开错误步骤,观察操作前后截图是否符合预期
若操作前截图不符合预期,则回溯前面的步骤排查
Q. 为什么前面步骤没有发现问题?
前面的一些操作并没有进行断言,或者没有进行元素操作时,元素路径不唯一导致找错元素,但操作仍然正常
若操作后截图不符合预期
截图中看不出什么问题
下载页面 wxml,对比录制脚本时的小程序版本,看相同的页面路径对应的结构是否有改变。造成页面结构不一致的原因主要有以下两个:
上传
/预览
过的小程序版本,用户有可能上传小程序后,又在本地进行了代码修改/更新后才进行脚本的录制,此时跑测版本和录制版本就会不一致,容易出现页面结构不一致的情况线上版
、体验版
、开发版
,这些版本大概率代码都是有一定版本差异的,如果录制的时候用的是开发分支
,但跑测时又选择的线上版本
也容易导致页面结构不一致
录制回放任务跑测时,常出现元素找不到问题
raise MiniElementNotFoundError("element[%s] not found" % xpath)
针对以上情况,可从以下几方面着手解决
录制脚本过程中用户主动添加 / MiniTest 框架会根据操作前后页面变化加入
assert
语句进行断言
针对此类错误,排查步骤如下所示
例如,出现过一个脚本, 截图看不出问题,但因为页面结构变化导致按照录制内容查找到的元素不符合预期
例如,不可操作/有授权窗口挡住了/页面结构变化导致找错元素了等