JMeter核心配置元件之参数化配置元件(CSV Data Set Config)

一、背景

性能测试中我们为了模拟大量用户操作,往往需要做参数化,JMeter的参数化可以通过配置元件来完成,即参数化配置元件,它可以帮助我们从文件中读取测试数据。

这里介绍比较常见的 JMeter 参数化的实现方式CSV Data Set Config,本质是将参数化的数据放入文件中,参数化读取依赖于文件操作。

二、配置元件(CSV Data Set Config

这样的参数化方式很常用,尤其适用于参数化数据量较多的场景,而且维护比较简单灵活。CSV Data Set Config 的可配置选项较多,详细见下图:

  • 文件名(Filename)

    顾名思义,这里填写文件的名字即可。保存参数化数据的文件目录,这边将测试数据和脚本放置在同一路径下。在这里推荐一个小技巧,那就是采用“相对路径”。使用绝对路径,在做脚本迁移时大部分情况下都需要修改。用相对路径,就不用频繁修改该选项了。

  • 文件编码(File encoding)

    指定文件的编码格式,设置的格式一般需要和文件编码格式一致,大部分情况下保存编码格式为 UTF-8 即可,不确定的话需要与开发确认。

  • 变量名称(Variable Names)

    变量名称(使用逗号间隔)即文件中每列参数名称,如果有多个则使用逗号分隔。

    变量名称对应参数文件每列的变量名,类似 Excel 文件的文件头,主要是作为后续引用的标识符,一般使用英文。

    后续需要引用时,通过“${变量名称}”就可以了,如图所示:

  • 忽略首行(Ignore first line(only used if Variable Name is not empty))

    忽略首行(只在变量名称不为空时才生效)。如果文件中第一行为参数名称,选择True;如果文件第一行为参数值,则选择False。此项只在设置了变量名称后才生效。比上图的第一行数据是用户名(username)、密码(password)等标题,实际上并不是需要读取的业务数据,此时就可以采用忽略首行。

  • 分隔符(Delimiter)

    用来标示参数文件中的分隔符号,与参数文件中的分隔符保持一致即可。

  • 是否允许带引号(Allow quoted data)

    如果选择True,csv文件中有引号,则变量引用后也带引号;如果选择False,csv文件中有引号,但是变量实际引用后会自动去掉引号。

  • 遇到文件结束符再次循环(Recycle on EOF)

    是否循环读取参数文件内容。因为 CSV Data Set Config 一次读入一行,如果设置的循环次数超过文本的行数,标示为 True 就是继续再从头开始读入,一般选择True。

  • 遇到文件结束符停止线程(Stop thread on EOF)

    读取到参数文件末尾时,是否停止读取线程,默认为 False。如果“遇到文件结束符再次循环”已经设置为 True 了,这个选项就没有意义了。

  • 线程共享模式(Sharing mode)

    这个适用范围是一个脚本里多线程组的情况。所有线程是默认选项,“所有线程”表示作用于全局,代表当前测试计划中的所有线程中的所有的线程都有效;“当前线程组”表示只作用于该线程组,代表当前线程组中的线程有效;“当前线程”表示只作用于该线程,表示当前线程有效。一般情况下,我们选择默认选项“所有线程”。

三、参考

1、jmeter压测:https://github.com/princeqjzh/iJmeter

posted @ 2022-09-02 16:15  xyztank  阅读(271)  评论(0编辑  收藏  举报