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

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

背景信息

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

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

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

前提条件

  • 开通PTS服务

  • 准备一个CSV格式的参数文件,格式如下。关于参数文件的更多要求,请参见参数文件规范

    user1,Password1
    user2,Password2
    user3,Password3
    

步骤一:导入参数文件

  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. 单击页面左下角的保存去压测,启动压测。