参数文件使用场景

本文介绍参数文件的使用场景。根据不同的参数请求,本文列举了4个参数文件的使用场景。

场景一:模拟多用户登录,参数文件应用在请求Body中

参数文件应用在请求Body场景的具体应用案例,请参见在线教育压测示例

场景二:模拟多用户登录,参数文件应用在Header中

为模拟不同用户登录,需要使用文件参数构造用户登录信息。如果已生成多个有效Token,将Token放在参数文件中,请求带上Token,即可完成鉴权。参数文件应用在Header场景的具体案例介绍如下。

  1. 准备参数文件

    新建一个token.csv文件(用Excel编辑之后另存为.csv格式,或者用Apache的commons-csv来生成),构造一列数据,对应Token,如下所示。

    token
    T7MeDnBIMKRJdgUB8RNQixyhUPJPaJEG
    cqKscgeNWFPkkkaR4dBfcD4A2pD1CYFK
    eh3lbjmsjd9jh65xSwvBWvDtmky25CK9
    
  2. 登录PTS控制台,选择性能测试 > 创建场景,然后单击PTS压测

  3. 添加参数文件到数据源

    1. 单击数据源管理,并在文件数据源页签中单击+ 上传文件,选择本地参数文件并上传。

    2. 选中首行作为参数名,选中后无需手动定义参数名,PTS读取参数文件时将跳过首行的数据。如果参数文件第一行不是参数名,则必须根据业务场景定义每列数据的参数名。

      image

  4. 添加数据配置节点

    1. 场景配置页签中添加压测API,然后单击添加指令右侧的下拉箭头,选择数据配置

    2. 数据源参数设置页签下,选择设置好的参数名。

  5. 在API的Header中引用Token

    场景配置页面单击Header定义页签,然后输入Value值为token

场景三:模拟用户请求不同API,参数文件应用在URL中

若您需要随机请求一个商品详情,可以在URL中配置参数。例如,商品ID,对应API为:/api/v1/products/{productId},其中productId可以用参数文件来实现随机取值。参数文件应用在URL场景的具体案例介绍如下。

  1. 准备参数文件

    新建一个productId.csv文件(用Excel编辑之后另存为.csv格式,或者用Apache的commons-csv来生成),构造一列数据,如下所示。

    productId
    1
    2
    3
    
  2. 登录PTS控制台,选择性能测试 > 创建场景,然后单击PTS压测

  3. 添加参数文件到数据源

    1. 单击数据源管理,并在文件数据源页签中单击+ 上传文件,选择本地参数文件并上传。

    2. 选中首行作为参数名,选中后无需手动定义参数名,PTS读取参数文件时将跳过首行的数据。如果参数文件第一行不是参数名,则必须根据业务场景定义每列数据的参数名。

      image

  4. 添加数据配置节点

    1. 场景配置页签中添加压测API,然后单击添加指令右侧的下拉箭头,选择数据配置

    2. 数据源参数设置页签下,选择设置好的参数名。并设置对应参数名的读取方式随机

  5. 在API的URL中引用参数。

场景四:模拟每个用户请求一次的场景

正常的压测场景会模拟用户一直循环发送业务会话中的请求,直到压测时间结束。 但是有些场景用户希望能够控制循环次数,在这种场景下就需要使用文件参数提供的“数据轮询一次”功能。设为轮询一次之后,在整个压测过程中,每行数据只会被使用一次。即数据有多少行,业务会话就会循环执行多少次。

接下来以选择考试系统的场景为例,为您介绍参数文件的具体应用。所涉及的场景为业务流程登录、答题、交卷,每个用户只循环一次,具体操作如下。

  1. 准备参数文件

    新建一个user.csv文件(用Excel编辑之后另存为.csv格式,或者用Apache的commons-csv来生成),构造两列数据,内容包含用户名、密码,如下所示。

    username,password
    user1,Password1
    user2,Password2
    user3,Password3
    
  2. 登录PTS控制台,选择性能测试 > 创建场景,然后单击PTS压测

  3. 添加参数文件到数据源

    1. 单击数据源管理,并在文件数据源页签中单击+ 上传文件,选择本地参数文件并上传。

    2. 选中首行作为参数名,选中后无需手动定义参数名,PTS读取参数文件时将跳过首行的数据。如果参数文件第一行不是参数名,则必须根据业务场景定义每列数据的参数名。image

  4. 添加数据配置节点

    1. 场景配置页签中添加压测API,然后单击添加指令右侧的下拉箭头,选择数据配置

    2. 数据源参数设置页签下,选择设置好的参数名。并选中username数据轮询一次

  5. 在API中引用参数

    Body定义页签中,Content-Type类型选择x-www-form-urlencoded,然后单击编辑区域右上角的文本编辑,在文本编辑框中输入{"username":"${username}","password":"${password}"}

    完成以上操作,即可模拟每个用户只执行一次业务会话的操作。