第五篇 Jmeter参数化之函数助手和配置元件CSV Data Set Config

Jmeter参数化是一个重点,尤其在进行压力测试的时候,需要构造大量的并发数据,这些数据就可以通过参数化的方式实现。

参数化分为:

1. 请求参数的参数化

2. 检查点的参数化:只有断言也相应的进行了参数化之后,才能得到正确的结果

参数化有很多种方法,其实第四篇,讲的也是参数化的一种,这里再讲2种参数化的方式:

1.函数助手

2.CSV Data Set Config

要想进行参数化,也需要经过三步:

1. 测试数据准备

2.请求参数化

3.断言参数化

一. 测试数据准备

1. 明确要参数化的对象

仍然以登录为例,进行参数化的实战演练,下图中的userId和password就要被参数化的对象

2. 需要“参数化”的数据,保存为test.txt格式的文件,编码问题在使用CSV Data Set Config参数化时要求的比较严格,修改编码为UTF-8.  注意用户名和密码是一一对应的,中间用户逗号(,)隔开。

存放路径为:/Users/mamingchen/Documents/JmeterTest/test

二、参数化

一. 借助函数助手的方式进行参数化

1、菜单栏 Tools---->函数助手对话框 或者 常用工具栏的 函数助手图标,看下图:  

CSV文件列号是从0开始的,第一列0、第二列1、第三列2、依次类推,见下图

2. 使用上面生产的函数参数

复制上面步骤5里生成的参数化函数,打开登陆请求页面,在右则的参数化中找到我们要参数化的字段,这里对用户名和密码做参数化,第一列是用户名,列号为0;第二列是密码,列号为1;修改函数中对应的参数化字段列号就可以啦。

3. 下面验证参数化,Request中,可以看到参数已经正确的传递进来,参数化成功

 

这里再补充一点:

测试数据可以有很多行,比如100个用户名和密码,并发数如果写100,就会顺序执行这100个用户,如果写1,则执行时只取第一个用户

二、借助jmeter中的配置元件(CSV Data Set Config)

1.  CSV Data Set Config 配置及定义变量

添加路径:选中线程组,点击右键->添加->配置元件->CSV Data Set Config

注意:CSV Data Set Config一定是要配置在线程组下面

说明:

Filename : 参数项文件,填写测试数据文件所在路径
File Encoding :文件的编码,设置为UTF-8。当然需要根据你的项目来设置,否则中文参数可能会出现乱码
Vaiable Names :文件中各列所表示的参数项;各参数项之间利用逗号分隔;参数项的名称应该与HTTP Request中的参数项一致。
Delimiter :如文件中使用的是逗号分隔,则填写逗号;如使用的是TAB,则填写\t;(如果此文本文件为CSV格式的,默认用英文逗号分隔)

Recycle on EOF?:到了文件尾处,是否循环读取参数?选项:true和false

Stop thread on EOF:到了文件尾处,是否停止线程? 选项:true和false

Recycle on EOF 与 Stop thread on EOF的关系,其实也涉及到三个策略问题:

      1. Recycle on EOF:选择True ,表示当测试数据文件读取到结尾时,继续重新重头读取文件。此时,Stop thread on EOF选择true和false无任何意义,通俗的讲,在前面控制了不停的循环读取,后面再来让stop或run没有任何意义;
      2. Recycle on EOF:选择False ,表示当读取文件到结尾时,停止读取文件。此时,Stop thread on EOF选择true,线程4个,参数3个,那么只会请求3次,第四次就不会再请求了(即察看结果树里是看不到第四次请求的)

     3. Recycle on EOF:选择False ,表示当读取文件到结尾时,停止读取文件。此时,Stop thread on EOF选择flase,线程4个,参数3个,那么会请求4次,但第4次没有参数可取,不让循环,所以第4次请求就会报错误(即在察看结果树里能看到第四次请求,但是结果是错误的)

2. 使用刚才定义好的变量

将上面定义到的变量,通过 ${变量名}的方式,分别对应引用到请求参数中

3. 引用结果的验证

Request中,可以看到参数已经正确的传递进来,参数化成功

 

三、断言的参数化

路径:HTTP Request右键-> Add->Assertions->Response Assertion

再写一个错误的看看

看下断言错误的参数化验证结果,下图可以看到请求参数是正确的,但是断言是失败的

到此,两种参数化的方法就介绍完了,总共已经知道有3种参数化方法了

需要说明一下:函数助手方法要比CSV控件方法参数化功能要弱,推荐使用CSV控件方法。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值