配置CSV参数文件

为构建动态变化的压测请求,需要在JMeter脚本中配置CSV文件。

例如,为测试同时有100人登录某网站时,该网站登录接口的性能表现如何,则需要构造100条不同的用户登录数据。操作步骤如下:

  • 在本地新建一份CSV文件,包含100条用户数据。该CSV文件示例中第一行是表头,表示变量名,所以文件共101行。基本格式示例如下:
    id,name
    1,ali
    2,pts
    3,jmeter                     
    说明 如果CSV文件不含表头,CSV Data Set Config中需要配置变量名。
  • 启动JMeter GUI,右键单击测试计划,选择 Add > Threads (Users) > Thread Group ,添加线程组。
    Thread Group
  • 右键单击新添加的线程组,选择 Add > Config Element > CSV Data Set Config
    CSV Data Set Config
  • CSV Data Set Config 配置区域,填写CSV文件名,其他配置项保持默认。

    JMeter会自动从CSV文件的表头中读取参数名作为变量名。

    CSV Data Set Config
    说明 如果CSV文件不含表头,需要在CSV Data Set Config的 Variable Names (comma-delimited) 中,输入 id,name

    CSV文件切分

    PTS自动根据场景并发数分配JMeter施压引擎。分配多个引擎时,PTS支持切分CSV文件,将CSV文件中的数据均匀分配到每个压测引擎。

    如果数据条数不能完全均分,则部分引擎可能比其他引擎多一条数据。

    包含文件头的CSV文件切分

    当原CSV带文件头时, 切分后的每个文件都会包含文件头,但保证数据不重复。

    如上述示例文件切分到2个引擎时:

    第1个文件内容为:

    id,name
    1,ali
    2,pts                    
  • 第2个文件内容为:

    id,name
    3,jmeter                   

    不含文件头的CSV文件切分

    如果CSV文件不包含文件头(第一行即为CSV数据),例如,文件“b.csv”内容如下:

    1,ali
    2,pts
    3,jmeter          

    则需 在JMeter中配置变量名 ,如下图所示:

    此时如果选择切分CSV文件,切分后的文件也不包含文件头。如切分到2个引擎时:

  • 第1个文件内容为:
    1,ali
    2,pts
                         
  • 第2个文件内容为:
    3,jmeter
    
  •