评论

小程序自动化实践方案总结:Minium + 云测

简单梳理云测跑测流程,讲解个人在项目实践中的经验,以及如何结合小程序自动化能力的特点和项目特点进行方案选择

本文旨在为大家在着手做小程序自动化前提供参考,少踩坑。里面不会涉及细节的实践操作,主要讲解流程让大家对小程序自动化有个整体的印象。本文中存在的不足还望指出,多谢~😄

背景:由于每次迭代我们需要手动进行大量小程序用例回归,其中很多都是简单的组件操作,为了提升回归效率将更多的人力放在复杂场景回归和探索式测试中,因此希望通过小程序自动化来实现简单场景的回归用例。

要进行小程序自动化落地,需要先对下面2点进行了解:

  1. 全方位了解微信官方提供的小程序自动化能力的特点(云测录制回放Minium虚拟账号
  2. 熟悉自己项目小程序的特性:是否支持一键登录、项目代码编译后元素class属性值是否会变、自己的公司是否是第三方服务商

在了解小程序自动化能力之后,结合自己小程序特性,选择合适的方案进行落地。

下面陆续讲述的内容会涉及上面2点。

一、小程序自动化能力简介

1、云测整体流程

云测平台可以基于你上传的用例创建相应的测试计划,然后选择小程序不同版本(开发版、体验版、线上版)、手机系统类型(安卓和ios)、测试账号等根据测试计划创建任务,跑测完毕可以通过短信和邮件通知测试结果。

2、录制回放

如果想要把录制回放的用例上传到云测,必须使用虚拟账号进行录制。这里有篇腾讯团队内部实践的文章

3、Minium

要进行Minium用例编写,前提是搭建好小程序开发环境,这个可以询问自己项目组的前端开发。下图是以我们组内实践为例画的流程图,让大家对如何运行Minium脚本有个概念。图内的切换小程序,若你们不是第三方服务商则不涉及;云盾是我们公司的用例管理执行平台,同理也可以替换为你们自己的用例平台,将跑测完的结果同步到用例平台。

编写用例也是采用的PO模式,在微信开发中工具上进行元素定位,整体思路与写web自动化差异不大,这里可以参考有赞的文章,就不赘述了。

特别注意:若使用的是wxss选择器定位元素,一定要确认元素的class属性值会不会在每次编译小程序的时候发生改变,若会的话强烈建议使用xpath进行定位。

4、虚拟账号

虚拟账号常用在录制回放和云测跑测试任务的时候。

若小程序必须登录才能使用,且符合截图中标记的这3项之一,就不能通过云测平台来跑自己录制或编写的用例了。

5、持续集成

目前提供了在云测平台创建测试任务和获取测试任务结果的接口,所以可以搭配jenkins使用。举个例子:调用接口创建测试任务----调用接口查询任务结果----将结果同步到用例平台或定制化测试结果邮件

二、方案选择

1、3种自动化方式对比

2、方案选择

页面多少决定选择录制还是minium,是否适用虚拟账号决定能否用云测,用例执行时间决定本地还是云测运行更方便(当然全部跑本地也行啊~)

选择云测平台跑测的一个好处是基于真机去跑,据了解后面可能会支持付费选择手机机型和付费增加跑测时间。还有一点就是不用自己去倒腾本地配置真机运行(😂我现在都还没实践本地真机运行)。

3、举我们产品这个例子

我们作为小程序服务提供商小程序页面有上百个,绝大多数场景对账号没有要求,落地方案是:minium+云测。

所以每次迭代发布,只需运行一下测试任务的脚本便可坐等测试结果就好。

三、基于项目编写Minium用例

1、目录结构

2、用例编写流程

若小程序页面不是非配置化的,可以省去配置这一步;若不需要同步测试结果到用例平台,可以省去最后一步。

3、基于下面这个页面编写用例,步骤如下。

  • 分别在page、logic、case目录下,分别创建allHouseListPage、AllHouseListLogic、AllHouseListCase
  • AllHouseListPage继承BasePage类,编写页面中各个组件的元素定位和操作方法
  • AllHouseListLogic编写操作流程
  • AllHouseListCase继承minium.MiniTest类,因为是固定在该页面执行用例,每个组件操作的前置步骤都是先进入该页面,所以在setUp里面添加进入该页面的前置操作(举一反三,其它页面的case的前置操作也是如此)。

4、tips

  • 页面跳转后最好多用wait_for等待元素加载完,不然用例出现找不到元素的报错
  • 定位的元素必须绑定了事件,才能触发操作
  • 不熟悉怎么写的时候,可以先通过录制脚本同步到云测平台后,查看录制脚本进行参考


四、快速Monkey

只有服务商才有快速Monkey入口,这个我目前用的少,个人见解是每次有小的改动发了bg分支时,可以挑选一些流量大的甲方爸爸小程序进行冒烟测试。




最后一次编辑于  2022-08-08  
点赞 9
收藏
评论

3 个评论

  • 风清云寂
    风清云寂
    2022-07-21

    虚拟账号录制的用例脚本,在云测一直同步失败啊

    2022-07-21
    赞同
    回复 1
    • 豆子
      豆子
      2022-07-21
      会吗,我还没遇到过。你可以问下官方客服。
      2022-07-21
      回复
  • 宝灵
    宝灵
    发表于移动端
    2022-07-06
    这个架构不错,不确定能用起来,期待实践一次。
    2022-07-06
    赞同
    回复 1
    • 豆子
      豆子
      2022-07-21
      很简单的,几乎都是码砖的活。
      2022-07-21
      回复
  • 积木魔方h0hg
    积木魔方h0hg
    2022-07-01

    恭喜您获得2022年第二季度小程序云测优秀文章分享者,请加入官方企业微信群,联系MiniTest小助手领取奖励

    2022-07-01
    赞同
    回复
登录 后发表内容