收藏
评论

录制回放官方


大家好,我是来自微信小程序云测团队的nahua。

本期课程主要介绍录制回放的使用,并对录制回放使用过程中的常见问题进行了总结。如果对云测服务不熟悉的同学,可以看一下上期的小程序云测服务简介教程。


云测服务针对小程序自动化测试能力有三种类型:

  • 智能化Monkey:接入即用,无需任何准备,智能建立探索路径;
  • 录制回放:需要在开发者工具中通过”点点点“方式录制用例,无需编写代码;
  • 自定义测试:需要使用Python编写Minium框架代码。


大家知道,前面讲的智能化Monkey测试,特点是零代码、接入即用,可通过简单配置页面,提高覆盖率,但是场景无法定制化,不支持输入等复杂操作,适用于快速冒烟测试

如果希望做自动化回归测试,那么必然会涉及到逻辑相关校验点,这时候可以尝试录制回放测试。录制回放相比于智能化Monkey,录制回放可更进一步制定测试场景,极大提升了测试覆盖率。

录制回放可以分为两个步骤:录制用例和云测回放。


一、录制用例

执行录制回放测试首先需要录制用例,这里以新版的开发版工具为例,接下来我们实践操作一下:

1、打开录制用例界面

首先打开微信开发者工具,接着打开小程序项目,然后开始在工具上录制用例。

找到 “工具”—“自动化测试” ,打开自动化测试窗口,录制之前先选择账号,可以选当前登录登录的账号,也可以选虚拟账号,然后点击开始录制即可


2、添加用例

添加用例中,需要注意的是

  • 选择是否清除缓存,即数据、文件、授权数据;
  • 选择是否回放时截图,即失败时截图、每个步骤截图。

录制用例过程中注意:

  • 查找的元素目标对象,是可以编辑的,可选择应用到哪里(应用到当前用例,应用到全局用例),编辑目标对象,可通过XPath、id、class等选择器定位;
  • 可选择回放时忽略失败,回放操作失败时也会忽略,继续下一步操作;
  • 可根据需求添加断言校验;
  • 可选择截屏。


3、本地回放

录制好用例之后,建议本地回放用例,调式下用例,提高回放成功率。对于录制的处理授权弹框,在回放前记得先清除授权缓存,如果没有清除,会导致回放授权失败。


4、进阶使用--基础模块

对于一些操作多个case都有的部分,可以抽出来做基础模块来管理,可以避免重复的录制操作,录制基础模块,在 “用例右边感叹号“—”选择录制基础模块”—“添加用例”。

那如何添加基础模块呢?在录制的普通用例中,每一个步骤都可以添加基础模块,步骤右边加号

  • 选择添加的位置(在上面添加、在下面添加);
  • 选择基础模块并入或者普通case合入;
  • 选择基础模块。

添加基础模块后,回放用例,看是否成功,根据错误信息排查。


二、云测回放

本地回放用例,是基于IDE回放,而用户是在手机上打开小程序的。所以在本地调试用例成功后,建议在云测上真机回放用例,这样更贴近用户真实使用场景。云测回放只需简单几步即可完成。

1、同步用例

进入云测之后,在"测试用例管理"—"录制回放用例" 中同步用例,需要注意:

●用例将从project.config.jsontestRoot配置的目录同步录制回放用例Json文件,同步前请确保用例存在。

●同步新的用例后会与已存在的用例文件进行合并,合并逻辑为:

同名文件,会覆盖新上传的文件,会保留;

已存在的文件若未出现在本次上传用例包中,会保留。

●基础模块不会上传,会加入到引入基础模块的用例中。


2、新建测试计划

在"测试用例管理"—"测试计划" 中新建测试计划。

测试用例勾选之前同步的用例。注意勾选的顺序决定用例的顺序。大家可以通过调整勾选的顺序来调整用例执行的顺序。


3、新建测试任务

在"自动化任务管理"—"测试任务" 中新建测试任务。

最长测试时长,可则根据用例数量以及预估用例执行耗时长短来决定。如果用例数量比较多可以设置长一点。值得注意的是,任务提交后会先扣除最长测试时长,测试结束后会根据测试的实际耗时自动返还多扣除的时长。


4、查看报告

测试结束后,云测服务提供了详细的测试报告,主要包括测试报告总览 、 设备详情、用例详情。

a)测试报告总览

报告总览列出了本次测试的基本情况,如小程序版本、小程序类型、测试计划、任务耗时、跑测的设备数量,用例执行次数、测试结果(看是否执行成功)、问题分布环形图等。另外,还包括:

  • 问题列表:展现本次执行用例发现的问题,点击展开详情会从右侧展开问题详细情况,方便用户快速查看问题
  • 用例列表:以用例维度展现本次测试跑测的所有用例信息、用例数、执行耗时、是否执行成功,点击查看详情可查看该用例本次跑测的详细信息
  • 设备列表:以设备维度展现本次测试跑测的所有设备信息、用例通过率、跑测发现的问题,点击查看详情可查看该设备本次跑测的详细信息
  • 资源占用:展现每次设备测试的启动耗时,平均内存和CPU等性能数据信息

b)用例详情

点击用例列表中"查看详情"按钮,进入测试详情页面。它以用例为维度,展现本次测试跑测的用例信息,包括用例名称、该用例跑测的结果统计,跑测该条用例的所有设备信息,微信版本,基础库版本、小程序版本、测试账号等。还包括:

  • 运行截图:每一步骤的一些详情数据,操作、路径、目标对象、文本、状态及截图;
  • 运行日志:展示跑测用例过程中的日志信息;
  • 小程序日志:展示跑测用例过程中的小程序日志信息;
  • 资源占用:记录了跑测过程中的CPU和内存性能曲线,点击曲线点可以看到点前时间截图;
  • 网络请求详情:展示跑测过程中的小程序网络请求信息,如有发现网络请求异常,可在这里查看详细情况;
  • 错误日志:跑测用例失败的日志。

c)设备详情

点击设备列表或性能数据中"详情"按钮,进入测试详情页面。它以设备为维度,展示本次跑测详细信息,包括设备信息、该设备跑测的结果统计,跑测该设备的所有用例信息,微信版本,基础库版本、小程序版本、测试账号,另外有运行截图、运行日志、小程序日志、资源占用、网络请求详情、错误日志。


前面提到由于录制和回放的环境不同,云测服务回放用例可能会失败。当回放失败时,云测服务有详细的信息帮助用户排查,有页面路径、操作时截图、当前页面wxml信息、详细错误日志、错误排查指引,另外还有小程序日志、网络请求详情、小程序版本信息等等。


三、常见问题分析

我们总结了录制回放测试执行失败的一些常见问题和解决方案,有:

1、缓存问题

缓存数据导致账号在录制和回放时状态不一致,具体来说我们在录制时忘记清除缓存,此时本地账号录制时是有登录态的,所以本地回放成功,而在云测跑测时真机是重新安装登录微信的,是一个空白的环境,于是账号登录后先进入登录授权界面,导致页面跳转和预期不一致而失败。

解决方案:

  • 录制前一定要记得清除缓存
  • 新建任务时开启Clean Cache清除缓存,需要说明的是也不是所有的小程序都要清除缓存,主要针对本地有账号数据缓存的小程序最好处理一下。


2、回放时多了微信授权弹窗

前面提到真机回放每次都会重装登录微信,是一个干净的测试环境,拉起小程序时可能会有授权弹窗。

解决方案:

  • 提交任务时,开启自动授权(Auto Authorize),会在回放过程中自动帮用户点掉授权弹窗,提高回放成功率。


3、查找不到元素

即使云测的回放逻辑对查找元素做了很多优化,但还是有可能找不到,比如:

  • 录制时和回放版本不一致;
  • 小程序版本变更导致录制的ID变化等等。

解决方案:

  • 下载页面wxml,在开发者工具中打开对比录制脚本时的小程序版本,确认下该元素是否存在以及页面结构是否有变化。页面结构变化会导致Xpath查找失败;
  • 建议增加id或者class等可以唯一查找的元素的标识,这样可以增加case的稳定性。

此外,还有一些比较复杂的错误,如果还是排查不了,可以看一下排查指引,排查指引主要是总结了一些常见的问题以及解决方案。


四、总结

录制回放测试适用于一些较简单的用例,可做自动化回归测试。

优点:

  • 支持输入,文本查找,断言等自动化测试基础操作;
  • 无需编写代码生成测试用例,用例生成效率高。

缺点:

  • 部分操作不支持,对复杂业务场景有局限性,例如地图操作;
  • 录制和回放用例脚本的环境不同,有一定概率回放失败需要调试。


最后大家在使用云测服务时遇到任何问题或者想要吐槽的,可以查看文档:需要帮助 | 微信开放文档

最后一次编辑于  2023-07-11
赞 1
收藏
登录 后发表内容

小程序云测入门

课程标签