Jmeter参数化

一、准备脚本,测试数据

1、录制一个脚本(可以用badboy工具录制),在jmeter中打开,找到有用户名和密码的页面。如下:

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

我将这个文件放在了我的( C:\JmeterWorkSpace\t.dat  )路径下。

 

二、参数化

  这里介绍两种参数化的方式:函数助手,CSV Data Set Config。

 

1、借助函数助手的方式

a、点击菜单栏“选项”---->函数助手对话框,看下图:  CSV文件列号是从0开始的,第一列0、第二列1、第三列2、依次类推。。

 

 

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

好了,现在我们的参数化设置完成,在脚本的时候,会调用我们C:\JmeterWorkSpace盘下面的t.dat文件,第一列是用户,第二列是密码。

 

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

 a、选中线程组,点击右键,添加-配置元件-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? --- 当Recycle on EOF为False时,当读取文件到结尾时,停止进程,当Recycle on EOF为True时,此项无意义

 

备注说明:这里我用通俗的语言大概讲一下Recycle on EOF与Stop thread on EOF结果的关联

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

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

当Recycle on EOF 选择true时,Stop thread on EOF选择true和false无任何意义,通俗的讲,在前面控制了不停的循环读取,后面再来让stop或run没有任何意义

当Recycle on EOF 选择flase时,Stop thread on EOF选择true,线程4个,参数3个,那么只会请求3次

当Recycle on EOF 选择flase时,Stop thread on EOF选择flase,线程4个,参数3个,那么会请求4次,但第4次没有参数可取,不让循环,所以第4次请求错误

转载于:https://www.cnblogs.com/sunny-sl/p/7199067.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter中,参数化是为了让参数的值由固定状态变为动态的,每次访问的参数时不一样的。参数化的作用是可以将项目中多次用到的数据进行参数化,比如用户名、密码,也可以将经常变动的信息参数化,比如IP地址等。有多种方法可以实现参数化,包括使用CSV Data Set Config(CSV数据文件设置)、函数助手、用户参数和用户自定义变量等方法。 使用CSV Data Set Config方法,首先需要定义一个txt文件,文件中写入参数的值。然后在线程组中添加HTTP请求,并在配置元件中添加CSV数据文件设置。在数据文件设置页中,设置数据,指定文件名和变量名称,将这些变量引用到HTTP请求的参数中去。 使用函数助手方法,同样需要提前创建含有参数值的txt文件。然后在HTTP请求中添加函数助手,并在函数助手页进行设置,选择_CSVRead功能,指定txt文件的根目录和参数所在的列。生成函数字符串后,将函数字符串添加到变量的值中。 使用用户参数方法,首先创建线程组,并在用户参数中添加变量。然后在HTTP请求中将固定的IP地址和端口号改成刚刚添加的变量名。 使用用户自定义变量方法,给线程组添加自定义变量,并添加变量。然后将HTTP请求中的参数值替换为自定义变量。 以上是JMeter中实现参数化的四种方式,根据不同的场景和需求选择合适的方法进行参数化。[1][2][3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值