收藏
评论

解决微信测试账号问题官方


在小程序云测服务简介教程中提到,微信测试账号一直是开发者做自动化测试的最大痛点之一,这主要是因为:

  • 个人能申请的测试账号有限,导致能构造的测试场景较少;
  • 如果微信安全团队检测到微信号在做自动化相关操作,可能判定为黑产导致封号。

在云测服务跑自动化测试,其实也面临上述问题。这里我们通过提供24个虚拟账号,并支持真实账号组合的方式,来解决测试账号问题。


一、虚拟账号

虚拟账号是使用开发者工具中,多账号调试能力提供的虚拟账号进行测试。具体可以参考文档 使用虚拟账号测试 | 微信开放文档

优势:

  • 云测提供24个虚拟账号,方便构造丰富的测试场景
  • 可以在开发者工具上配置测试数据,方便团队共享

需要特别注意

  • 24个虚拟账号对不同的项目来说是独立互不影响的,但是对同一个项目是互斥的,即不能用一个账号同时在两台手机上跑测任务。(若同时跑测,则需进行账号排队,比如目前只有24个账号,如果同时跑100个机器的自动化测试,那么一次只能先跑24个账号,其他机器要等账号释放才能跑测)
  • 当同一项目中,用同一账号提交多台机器任务时,云测服务会自动对测试账号进行排队处理。(例如,使用测试号V1提交测试后,由于默认设备有2台,系统会自动排队,先跑测1台设备,等结束后再开始另一台设备测试)
  • 测试账号支持多选。如果未选择测试账号时,系统将自动分配排队任务最少的账号进行测试。

另外,虚拟账号绑定的是虚拟手机号,无法接受手机验证码。如果需要验证码才能完成登录逻辑的小程序,需要自己进行Mock处理,这种情况建议使用真实账号测试。


接下来,演示虚拟账号跑测,这里以录制回放测试为例:

首先打开工具打开小程序源码之后,进入自动化测试,在开始录制之前,先选择录制的账号,即 ”点击头像”—“选择测试账号“。然后再开始录制,录制好之后,进入云测同步用例,详情可参考 录制回放测试

需要注意的是,录制回放功能性测试,是什么账号录制,就用什么账号跑测(ios和安卓同时跑,也会要账号排队),如果是兼容性测试,去除了账号依赖,所有用例都用同一个账号跑测

如果是其他类型的测试任务,例如智能化Monkey、Minium测试,新建任务时,测试账号可以指定。


二、真实账号

前面提到了虚拟账号存在的一些问题,比如虚拟账号无法接受手机验证码。另外如果用户在自己的真实账号已有测试数据,使用虚拟账号需要迁移测试数据,比较麻烦。

云测服务支持用户使用自己的真实账号测试,具体使用可参考文档 使用真实微信号测试 | 微信开放文档

  • 支持使用用户自己的真实账号可以解决手机验证码的问题
  • 用户无需迁移测试账号的测试数据,降低使用成本。

另外,真实账号也支持跑测预览版本,可参考 使用开发中版提测指引 | 微信开放文档

注意,使用真实账号跑测存在一些限制:

  • 微信号必须是在 微信开发平台 中,该小程序的开发者或者管理员;
  • 账号有30天的有效期,当账号过期或者账号失效时,需要用户重新扫码授权。

特别注意:

  • 同一个微信号,可以添加给多个小程序项目使用,前提是拥有这些小程序的开发者或者管理员权限;
  • 当在云测服务中其他小程序项目,也授权同一个微信号测试时,该微信号关联的所有项目到过期时间时会自动刷新


接下来,演示真实账号跑测。

首先需要在 ”项目管理”—”账号管理“—”添加” ,添加测试账号,需要自己扫码绑定,绑定成功之后,会在账号列表中展现。然后创建任务,在测试账号中选择添加的测试账号。在测试报告的详情页中,有跑测的测试账号信息。


上述提到真实账号支持跑测预览版本,如何跑测预览版本呢?

首先,在开发者工具上,”点击预览”—“自动预览”—”启用手机端自动预览”—”编译并预览”(确认是否预览当前登录的账号)

预览完成之后,进入云测新建任务,在小程序版本中选择开发中版本开发者账号选择预览的真实账号

值得注意的是,前面提到真实账号有一定的有效期,所以有时候跑测真实账号时,有可能会创建失败。具体来说可以在错误详情中查看,如果提示存在生成Ticket失败,出现这种情况需要重新添加账号,然后再重新提测。



三、Mock账号信息

真实账号和虚拟账号都支持Mock,可以演示下Mock的使用方式

云测服务支持配置账号Mock信息,分别有:

  • 定位信息(wx.getLocation API的回调信息,具体可参考 API);
  • 请求Request,请求的规则和响应的信息,可参考 Request配置项

配置Mock信息,首先在 “项目管理”—“虚拟账号配置”,选择需要配置的账号,然后再配置定位Mock或者请求Mock,可以根据自己的需求自行配置

举个例子,之前配置的测试号V20,配置了定位的经纬度信息,及请求的规则和响应的信息,然后编写测试用例,查验下配置Mock是否生效。测试用例验证定位的Mock信息,断言是否是配置的经纬度,验证请求Request的Mock信息,断言是否是配置的请求url的规则及请求Request响应信息。

测试结果,不是配置的账号跑该用例,则会断言失败,若跑测账号是配置的账号V20,断言成功。验证定位的Mock信息用例可查看测试报告中的运行日志、小程序日志、错误日志等;验证请求Request的Mock信息可查看测试报告中的运行日志、网络请求详情、错误日志等。

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

小程序云测入门

课程标签