参数化之利用CSV Data Set Config从文件读取参数并关联变量

1.   添加CSV Data Set Config

右键线程组->配置元件->CSV Data Set Config

 

 JMeter <wbr>参数化之利用CSV <wbr>Data <wbr>Set <wbr>Config从文件读取参数并关联变量

2.   配置

 

JMeter <wbr>参数化之利用CSV <wbr>Data <wbr>Set <wbr>Config从文件读取参数并关联变量

新建test.cvs文件内容如下

 

JMeter <wbr>参数化之利用CSV <wbr>Data <wbr>Set <wbr>Config从文件读取参数并关联变量

CSV Data Set Config参数说明:

Filename:文件名,,指保存信息的文件目录,可以相对或者绝对路径

Variable Names:参数名称(有几个参数,在这里面就写几个参数名称,每个名称中间用分隔符分割,分隔符使用下面的“Delimitet”中定义的

File Encoding:文件编码,默认为ANSI

Delimitet:定义分隔符,用于分隔文件中的参数,及上述Variable Names中定义的参数名称

Recycle on EOF:遇到文件结束符时,是否从头开始循环读入

注:程序从CSV Data Set Config文件中,每次读取一行,每次读取的参数仅供一个线程使用(类似Loadrunner里面的参数唯一值功能),如果线程数超过文本的记录行数,那么可以选择 True (从头再次读取)

Stop Thread on EOF: 当Recycle on EOF为False并且Stop Thread on EOF为True,则读完csv文件中的记录后, 停止运行

Allow Quoated data: True --设置文件中的参数值都必须用引用引起来,False则不需要

Sharing Mode: 设置是否线程共享

 

3.   参数化

${argue_name} 的方式引用Variable name

 

JMeter <wbr>参数化之利用CSV <wbr>Data <wbr>Set <wbr>Config从文件读取参数并关联变量

 

4.   查看结果

4个线程,发起4个请求,每个请求使用一个参数

 JMeter <wbr>参数化之利用CSV <wbr>Data <wbr>Set <wbr>Config从文件读取参数并关联变量

 

 

 

使用场景:测试一个接口并发处理数据的能力,并且每次请求传入的参数都要不同:

解决方法--- CSV Data Set Config 

列举一个实例,步骤中会侧重读取参数操作的说明,其他有疑问的步骤请查阅博主之前Jmeter相关的文章。

1、创建HTTP请求默认值---为了指定请求的服务器信息

2、创建HTTP信息头管理器---为了在Headers中传值

3、创建HTTP采样器---我们的请求任务

填好Http请求方式和请求路径,请求参数用变量方式引用进来,变量来源于CSV Data Set Config配置:

(1)添加CSV Data Set Config

(2)配置CSV Data Set Config

  • Filename:需要传入的参数所位于的文件名称,一定要填写完整路径,博主填写的绝对路径。
  • File encoding:参数文件的编码格式。可以不填。
  • Variable Names:对应参数文件中每列的变量名,也是你要引用到请求中的参数变量名。例如博主填写的值为ecsCode,在http请求中引用该参数时${ecsCode}
  • Delimiter:文件中的分隔符,一般用英文的逗号分隔开即可。
  • Allow quoted data?:是否允许引用数据。博主没有用到,默认设置为 false。
  • Recycle on EOF?:是否循环读取参数文件内容。设置为 true 时,意味着已经读取完参数文件内的测试用例数据时,线程循环次数仍然没有结束,那就循环读取参数文件数据;设置为 false 时,若已至文件末尾,则不再继续读取测试数据。
  • Sotp thread on EOF?:当读取到参数文件末尾时,是否停止读取线程。默认为 false。当 Recycle on EOF?  设置为 true 时,此项不起任何作用。当且仅当 Recycle on EOF? 为 false 时,此项配置才生效。
  • Sharing mode:共享模式,即参数文件变量作用域,博主没用到就不关注他。

(3)在文本中填写参数

  • 该文件所在的路径即为CSV Data Set Config配置元件中的Filename值;
  • 博主只传入一个参数,所以只有一列,如果有两个参数,会有两列数据,并用英文逗号隔开;引用参数时,CSV Data Set Config配置元件中Variable Names填写两个变量,也用英文逗号隔开即可
  • 有10行数据,意味着10条测试用例,我会设置线程循环10次。这也是为什么我会在CSV Data Set Config配置元件中Recycle on EOF填写False

循环次数设置为10,意味着该条请求只执行10次。

Ramp-Up Period设置为0,意味着10条请求同时发出。如果设置为5,意味着5秒内发起10条请求,平均1秒发出2条。

(4)在请求中引用参数

4、增加一个响应断言,意味着返回数据包含“执行成功”字样,任务成功

5、添加监听器-察看结果树

转载:http://blog.sina.com.cn/s/blog_13cc013b50102wcx2.html

          https://www.cnblogs.com/LiangHu/p/6233203.html

原文地址:https://www.cnblogs.com/youlanfeier/p/8617571.html