不同于网页压测,针对小程序压测时,通常需要获得小程序所在的平台(如微信)的 Token 信息,并在有效期内使用,才能正常压测小程序业务接口。

推荐您通过以下两种方式获取平台授权 Token:

  • (推荐)编写接口自动获取 Token,并在有效期内刷新该 Token。压测中,您通过 PTS 压测该接口,可以自动获得 Token。

  • 压测前提前记录平台 Token,并以参数形式传入小程序业务接口中。但是,请注意压测时长不能超过 Token 的有效期,避免因 Token 失效导致无法进行业务压测。

本文以微信平台为例,介绍如何压测微信平台上的小程序。

方式一:编写接口获取 Token

假设需要压测微信平台上小程序的活动页面。那么,您可以编写接口去获取微信的 Token 信息,将该接口编排进压测场景中,并提取出参,传递给后面实际的业务接口。

具体操作步骤如下:

  1. 在本地编写接口,以便能够在压测过程中持续地获取微信的 Token 信息。
  2. 登录 PTS 控制台,在左侧导航栏选择创建压测 > 创建 PTS 场景
  3. 编辑场景页面,填写场景名称,例如“myAPP”。
  4. 场景配置页签下,填写第一个压测 API,即自定义的获取微信 Token 的接口。
  5. 选择出参定义页签,配置示例如下:
    • 出参名:access_token
    • 来源:Body:JSON
    • 解析表达式:access_token
    微信出参 token
  6. 单击+添加压测 API,填写第二个 API,即小程序活动页面接口,请求方式选择为 POST
    小程序接口页面
  7. 单击编辑场景页面右上角的参数列表,在弹出的对话框中单击出参名的复制图标,复制该出参参数。
    复制出参
  8. 假设需要在 API 的 Body 中传入已复制的出参 access_token,单击 API 的 Body定义页签。在 Key 中填写自定义的名称(例如 input_token),在 Value 中粘贴已复制的出参参数。
    配置body定义
  9. 选择施压配置页签,根据实际需要,填写压测并发数和时长等信息。示例如下图所示:
    施压配置微信小程序
    说明
    • 若需要获取已经登录的微信用户信息供多个串联链路使用,如 OpenID 或 Token 等,请参见使用 Cookie 模拟登录场景
    • 若获取的信息侧有限流信息,如同一用户的频繁登录登出限制、接口调用限制等,可准备一个串联链路低并发、低RPS的登录信息,请参见登录模板场景
    • 施压配置的更多信息,请参见如何进行施压配置
  10. 单击编辑场景页面右上角的保存去压测,即可发起压测。

方式二:手动记录 Token 并写入业务接口

假设需要压测微信平台上小程序的活动页面。那么,您可以在压测前提前批量获取到平台 Token,或者在本地准备些数据(如果业务允许),放在数据文件中,压测时作为全局参数使用。

注意 一般平台 Token 都存在有效期限制,需要定期刷新才能使用。所以,采用该方法请注意确认 Token 有效期,超过该期限后,压测就无法正常进行。

具体操作步骤如下:

  1. 新建一个 .csv 文件(用 Excel 编辑之后另存为 .csv 格式,或者用 Apache 的 commons-csv 来生成),将 Token 信息写在一列中,示例如下:
    CSV示例图
    说明 您可以通过线上环境批量获取平台 Token,或者如果业务允许的情况下可在本地构造 Token 数据。
  2. 登录 PTS 控制台,在左侧导航栏单击创建压测 > 创建 PTS 场景
  3. 编辑场景页面,填写场景名称,例如“myAPP”。
  4. 场景配置页签下,填写小程序活动页面接口。
  5. 单击创建压测页面右上角的数据源管理,单击上传文件,上传本地准备的 .csv 文件。上传完毕后,填写参数名,并单击确定
    上传文件
  6. 单击+添加压测 API右侧的下拉箭头,选择添加数据配置节点。然后单击文件参数设置页签,选择参数名。单击复制图标,复制该参数。
    数据配置节点微信
  7. 假设需要在 API 的 Body 中传入已复制参数,单击 活动页面API 的 Body定义页签。在 Key 中填写自定义的名称(例如 token),在 Value 中粘贴已复制的出参参数。
    设置body定义
  8. 选择施压配置页签,根据实际需要,填写压测并发数和时长等信息。示例如下图所示:
    施压配置微信2
  9. 单击编辑场景页面右上角的保存去压测,即可发起压测。