文档

如何使用参数化模拟多用户注册或登录

更新时间:

若您需要压测的业务中包括用户登录、注册的场景,可以借助PTS提供的文件参数功能,模拟不同用户的登录、注册的压测场景。本文将以对用户注册界面发起压测为例,介绍如何使用文件参数来构造动态变化的请求URL。

背景信息

在网站注册页面,通常需要用户提供用户名和密码。若您在压测时需要模拟多用户注册的场景,可以通过在压测场景中导入包含用户名和密码的参数文件,构造压测API时关联导入的参数来实现。

关于登录场景的PTS支持能力的信息,请参见使用Cookie模拟登录场景

在网站登录页面,通常还需要输入验证码。若您在压测时需要模拟多用户登录的场景,您可以在业务代码中配置一个万能验证码,并且在PTS配置API时带上万能验证码,然后通过在压测场景中导入包含用户名和密码的参数文件,构造压测API时关联导入的参数来实现。

步骤一:准备参数文件

下载参数文件示例至本地,或者在本地用Excel编辑好之后另存为CSV格式的文件(或者可以用Apache的commons-csv来生成),构造两列数据,分别对应用户名和密码。
参数示例
说明 此文件中仅有10行数据,这些数据可以在压测中循环使用或仅使用一次。您也可以准备更多行数据,构造更多用户的登录注册请求。

步骤二:导入参数文件

  1. 登录PTS控制台,在左侧导航栏选择性能测试 > 创建场景,然后单击PTS压测
  2. 创建PTS场景页面右下角,单击数据源管理,然后在右侧弹出的文件数据源页签中单击+上传文件,将本地的参数文件导入PTS。
    文件导入后,系统会自动根据文件中的两列生成参数列表。
  3. 手动填入参数名,例如usernamepassword,然后单击确定
    说明 可以单击创建PTS场景页面下方的参数列表,查看已创建的文件参数。
  4. 单击添加指令右侧的下拉箭头,选择数据配置
  5. 数据配置文件参数设置页签下,选择设置好的参数名,对目标参数选中数据轮询一次
    • 选中数据轮询一次能够保证在使用数据文件组装请求时,每一行只用到一次,避免重复登录。当数据轮询一次用尽,不论设置的压测量级是多少,该压测场景将停止生成新的压测请求。
    • 若不选中数据轮询一次,导入的参数会在压测中循环使用。
    说明 数据轮询一次基准列均只能指定一个参数,设置轮询一次之后基准列无法设置。
    数据轮询一次.png

步骤三:创建压测场景

  1. 创建PTS场景页面,填写以下示例。
    • 场景名:压测用户注册页面。
    • 压测API名称:用户注册。
    创建压测
  2. 单击用户注册一栏右侧的箭头图标展开更多参数设置,在基本请求信息页签中填写压测URL,例如http://www.example.com/register
  3. 选择请求方式POST
  4. 单击Body定义页签,然后单击编辑区域右上角的文本编辑,在文本编辑框中输入user_name=${username}&user_pwd=${password}&code=common_code
    编辑body定义
    说明
    • Body中使用的用户名参数为${username},密码参数为${password}。

      单击页面下方的参数列表,然后单击参数名username或password可复制参数内容,编写Body内容时,直接粘贴即可。

    • 在用户注册场景中,通常您需要在业务代码中设置一个万能验证码。以上图为例,common_code是万能验证码。

步骤四:配置压力并启动压测

  1. 创建PTS场景页面,单击施压配置页签,将最大并发数值设为10,其他可保留默认配置。
  2. 单击页面左下角的保存去压测,启动压测。