全部产品
云市场

登录(Cookie)的支持

更新时间:2018-11-16 15:52:00

在压测请求中,您可以构建用户登录的场景(即带 Cookie 的情况)。在一个串联链路(有先后顺序的事务)内或者全场景(N 个串联链路)内,可以共享登录返回的 Cookie。

串连链路内共享

若想在一个串联链路内传递(共享)Cookie 信息,则不需要任何额外设置。PTS 和浏览器类似,默认将获取到的 Cookie 在后续的请求中带上

场景内共享

登录 Cookie 可以在同一个场景内进行共享。

同一场景内,只能指定将一个串联链路内的 Cookie 共享给其他串联链路使用。

示例

假设同一个压测场景内包含两个串联链路:

  • 串联链路 1:登录->打开详情->添加购物车->下单
  • 串联链路 2:查看收货地址->修改收货地址 (PS:和串联链路1是同一批登录用户)

为了把串联链路 1 中的登录 Cookie 共享给串联链路 2,可以按以下步骤进行设置。

操作步骤

  1. 在压测场景的场景配置页签下,新建串联链路 1,添加 API(如登录)模拟用户登录。

    说明:您可以通过导入数据文件生成参数、通过 uuid 生成用户信息等多种方式设置 Cookie。

  2. 单击该串联链路中某 API 右侧的 指令图标 图标,选择添加数据导出

  3. 选择数据为 Cookie,设置导出量级。该设置会为串联链路 2 提供相应的 Cookie 量级。

    数据导出

  4. 新建串联链路 2 并添加 API。串联链路 2 将自动带上串联链路 1 中设置的 Cookie 信息。

    说明:该场景内创建的其他串联链路都会自动带上 Cookie 信息。

导出量级说明

若要保持共享Cookie的唯一性(即准备的 Cookie 信息不重复),设置的导出量级不可超过对应串联链路中登录 API 的文件行数(一般将登录信息放在数据文件中),且将登录 API 设置为数据轮询一次。否则输出结果可能会重复。

数据轮询一次

  • 若未指定对应串联链路的 API 文件数据只轮询一次,则共享 Cookie 的数量可能会重复(当导出量级 > 文件行数时),系统默认不可超过 100 万。

  • 若指定对应串联链路的 API 文件数据只轮询一次,则共享 Cookie 的数量 <= Min(串联链路指定的唯一性文件中最小文件行数、填写的 Cookie 导出量级)。

示例

串联链路 1 有 API1 和 API2,分别使用到文件的行数为 10 和 50;填写 Cookie 导出量级为 100,则:

  • 均未指定两个 API 的文件数据只轮询一次,则最终 Cookie 量级为 100(会有重复数据);

  • 指定了 API2 (50行) 的文件数据只轮询一次,则最终 Cookie 量级为 50(因串联链路只执行 50 次结束);

    • 指定了 API1(10 行)或同时制定了两个 API 的文件数据只轮询一次,则永远不能准备到 100 量级,必须填写<=10(因串联链路只执行 10 次结束);