Jmeter参数化

在“线程组”上点鼠标右键,选择添加->配置元件-> CSV 数据文件设置,打开 CSV 数据文件设置 设置界面,设置以下参数,如图所示:

 

 

 

将之前用录制的参数user1替换成${username}

 

界面说明:
1)Filename: 文件名,指参数化的文件目录,可以是相对路径或绝对路径。
比如,相对路径为D:datauser.txt
如果使用相对路径(如user.txt),则需要将参数化文件放在当前测试计划所在的目录下。
2)File encoding: 文件编码,可以不填,默认编码方式为ANSI,如果文件使用其它编码方式保存的,就需要使用文本文件对应的编码方式,比如GBK或者UTF-8.
3)Variable Names(comma-delimited): 参数名称,比如是username;
如果有多个参数,就写多个参数的名称,每个名称之间用分隔符分隔;
分隔符由Delimiter中定义,比如username,password
4)Delimiter(use ' ' for tab): 参数文件中多个参数值,使用什么分隔列?
表示用Tab制表符分隔,默认是用逗号分隔。
5)Allow quoted data? : 是否允许引用数据,默认为False,表示在引用参数化文件中的值时,文件中是什么值,就传递什么值到参数中。
6)Recycle on EOF? : 结束后是否循环?选择Tree或者False,默认是True.
CSV Data Set Config是一次读入一行数据,数据分隔后存入变量中交给一个线程,当设置的线程数超过参数化文件里的参数化数量时,可以选择数据不用后,是否从头循环重新读入数据,为True表示循环读入数据,为False则表示不循环读入数据。
7)Stop thread on EOF: 到了参数化文件结尾处,是否停止线程,选择True或者False.
  <1> 当Recycle on EOF选择True时,Stop thread on EOF选择True或者False没有意义。因为之前设置了结束后可以循环读入数据,所以数据是永远够用的。
  <2> 当Recycle on EOF选择False时:
      a. Stop thread on EOF选择True,如果设置线程数目为10,而参数化文件中只有5行数据,那么只会请求5次;
      b. Stop thread on EOF选择False,如果设置线程数目为10,而参数化文件里只有5行数据,那么会请求10次,但是因为第6次取不到参数化数据,所以第6次之后的请求可能会发生错误。

8)Sharing mode: 共享模式,分为All threads、Current thread group、Current thread,此处和LoadRunner中参数化的迭代取值相反:
  <1> All threads: 选择后,Test plan中所有线程共享CSV文件中的数据,所有线程安装顺序方式取CSV文件中的不同记录。测试计划中的所以线程,假如设置了10个线程,线程1取了一次值后,线程2取值时,取到的是CSV文件中的下一行,即与线程1取的不是同一行。
  <2> Current thread group: 选择后,Test plan中所有线程共享CSV文件中的数据,在当前线程组中,假设有线程组A、线程组B,A组内有线程A1到线程An,线程组B内有线程B1到线程Bn。取值的情况为:线程A1取第1行,线程A2取第2行,线程B1取第1行,线程B2取第2行。 -- 类似于 LR中的Sequantial
  <3> Current thread: 选择后,每个线程各自独立的使用CSV文件中的记录。假设设置了10个线程,则线程1取第1行,线程2也取第1行。
注意:选择循环时,取CSV值时,也算入迭代。例如,当设置为Current thread时,线程1第1次取了第1行,第2次取的就是第2行。
9)以上设置完成以后,在需要进行参数化的地方,将Variable Names(comma-delimited)里设置的参数化名替换即可。

原文地址:https://www.cnblogs.com/snailgirl/p/9084329.html