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

微信小程序云测服务 · February 14, 2023 · 5974 hits

小程序云测 提供了丰富的自动化测试能力供用户选择,其中最简单方便的就是智能化 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 进行量身定制,提升测试覆盖率

需要帮助

No Reply at the moment.
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up