专栏文章 微信小程序自动化测试——智能化 Monkey 扩展

微信小程序云测服务 · 2023年02月14日 · 5410 次阅读

小程序云测 提供了丰富的自动化测试能力供用户选择,其中最简单方便的就是智能化 Monkey服务。用户接入后即可使用,使用微信团队自研的智能化策略,自动识别小程序中可操作的节点,建立探索路径,从而实现对小程序页面的智能遍历。

在使用发现,部分用户在智能化探索上,有进阶需求,如:

  • 小程序需要进行一些指定操作才能显示,如需要登录输入用户名密码后,才能正常访问小程序内容
  • 希望可以遍历指定的页面,提升测试覆盖率
  • 不追求覆盖率,希望在指定的页面中,尽量多点击指定页面的元素,测试页面稳定性

为了满足用户的不同需求,云测服务对智能化 Monkey 进行了扩展,主要包括:

  • 前置操作:支持用户配置 Monkey 前置步骤,在跑测 Monkey 前会执行指定操作
  • 支持配置指定页面:支持配置多个 Path+Query,在前置步骤操作结束后,直接拉起指定页面
  • 多种后继模式:支持三种后继模式,满足不同用户需求

扩展后,智能化 Monkey 执行的流程如下图所示:
1、 任务是否有前置操作,如有前置操作,先执行前置操作
2、 任务是否配置了指定页面列表,如有指定,在前置操作(如有)执行完成后,会先依次用 path+query 拉起页面列表
3、 根据配置的后继模式,开始智能化探索
4、智能化探索完成,任务结束,收集并上报结果,生成测试报告

接下来我带大家一起体验下智能化 Monkey 扩展是怎么使用的

1、新建测试计划

  • 用户打开云测插件后,可以点击左侧的 测试用例管理 => 测试计划,进入测试计划页面。

  • 点击右上角新建测试计划,在测试计划窗口中,根据项目需求配置扩展信息,主要有以下几种:

前置步骤

云测服务支持用户配置 Monkey 前置步骤。目前支持两种方式指定前置步骤

  • Minium:需要编写 Minium 脚本,上传到云测中,然后再选择执行的 Case。具体可参考 自定义测试
  • 录制回放:需要在开发者工具上先录制前置步骤,同步到云测中,然后再选择执行的 Case。具体可参考 录制回放

配置成功后,在智能化 Monkey 测试开始前,先执行指定的前置步骤 Case,执行成功后再继续往后执行。

特别建议:用户可以先用录制回放或者自定义测试先执行下前置步骤用例,确认执行成功再配置前置步骤,方便排查问题

若执行失败,云测服务支持用户自主选择是中断跑测还是继续跑测。选择中断跑测,将会停止 Monkey 运行,直接结束任务。选择继续跑测,则继续进行后续流程。

配置指定页面,选择 Monkey 模式

云测服务支持用户配置多个指定页面和参数,在前置步骤(若有)执行完成后,会直接打开配置的页面,检查是否存在 JsError 或者黑白屏等异常情况。

遍历完指定页面后,平台支持三种自定义模式:

  • 自由探索:继续原来智能化探索逻辑,优先寻找未遍历过的页面
  • 重点覆盖:重回指定的页面继续点击,尽量多点击指定页面的元素
  • 结束测试:直接结束测试任务

2、创建测试任务

测试计划新建成功后,回到自动化测试任务管理 => 测试任务页面,在右上方点击 新建任务,测试类型选择 Monkey,选择对应的自定义 Monkey 测试计划创建新的任务即可。
特别提醒:前置步骤耗时会计入测试时长中,比如最长测试时长 20 分钟,前置步骤执行 10 分钟,智能化 Monkey 继续执行 10 分钟。

3、查看报告

如果配置了前置步骤,在测试报告中会给出前置步骤执行结果,并且在设备详细报告的用例执行结果中,用前置步骤Tab 显示前置步骤执行情况

快速 Monkey

快速 Monkey 也是智能化 Monkey 扩展能力的一种,它和上述能力不同,只支持第三方服务商使用
那么什么是第三方服务商呢?除了普通小程序开发者,还有一些是小程序第三方服务商,帮助授权他们的商户代开发小程序,比如有赞,微盟,明源云等。

对于第三方服务商用户,有非常多个小程序授权给他们开发,这时快速 Monkey 就很适合他们做多个小程序的快速冒烟测试

它支持一次提测最多30 个小程序,每个小程序跑测1 分钟智能化 Monkey,检查异常情况,也支持向自定义 Monkey 一样,为每个小程序指定页面做冒烟测试

再次提醒,只有第三方服务商,才能使用快速 Monkey 模式!

总结

以上介绍了智能化 Monkey 的扩展能力,大家可以根据自身需求,对 Monkey 进行量身定制,提升测试覆盖率

需要帮助

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册