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次请求错误

事例下载:demo

b、使用刚才定义好的变量

至此,两种参数化的方法就介绍完了。

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

再看看与loadrunner参数化不一样的:

1、 jmeter参数文件的第一行没有列名称

2、 这里要注意的是参数文件的编码,可以使用记事本另存为就可以修改该编码(编码问题在使用CSV Data Set Config参数化时要求的比较严格)

3、 Jmeter的参数化设置没有LoadRunner做的出色,它是依赖于线程设置的(只有CSV Data Set Config参数化方法才有)

时间: 2024-10-11 00:54:58

jmeter(三)参数化的相关文章

JMeter(四)--参数化

JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现. 参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统. 这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问. 一.准备脚本,测试数据 1.录制一个脚本(可以用badboy工具录制),在jmeter中打开,找到有用户名和密码的页面.如下: 2.我们需要“参数化”的数据,用记事本写了五个用户名和密码,保存为.

JMeter学习-参数化

JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现. 参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统. 这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问. 一.准备脚本,测试数据 1.录制一个脚本(可以用badboy工具录制),在jmeter中打开,找到有用户名和密码的页面.如下: 2.我们需要“参数化”的数据,用记事本写了五个用户名和密码,保存为.

Jmeter性能测试-----参数化方法CSVRead函数

Jmeter里面参数化的方法有很多,大家可以结合自己的项目情况来使用哪种方式来调用测试 数据. 下面我给大家介绍下Jmeter里CSVRead函数来获取参数的方法: 我这里已去到直播间发表评论为例(这里怎么建测试用例就不讲了,另一篇有讲), 设置好server和Path.Method.Content encoding等,并把要Post的数据写到Body Data 栏目里: 我们这里要对chat做参数,先把要参数化的内容准备好: 选择Options---Function helpDialog,选择

Jmeter(三十七)循环控制器+交替控制器+事务控制器 完美实现接口字段参数化校验

我们在做接口自动化的时候,常常因为无法灵活的的校验接口字段而烦恼.不能自动校验接口字段的脚本,也就不能称之为接口自动化.因此,我设计了一套组合式的控制器,可以完美的解决这个问题 1:首先我们需要在本地建一个异常字段校验的字符集 比如我这里写了五个校验,分别是最大值,最小值,中文,为空,特殊字符 测试交流群:317765580 2:在线程组下创建一个循环控制器,循环次数设置为三次.循环控制器下建一个交替控制器.交替控制器的作用是交替执行控制器下的元件.交替控制器下属建立三个事务控制器. 最外层的循

jmeter设置参数化

1.打开 jmeter,导入badboy录制的脚本 导入后记得选择"step"右键选择change controller ->逻辑控制器->循环控制器 2.设置参数化,选择测试计划右键添加->配置元件->csv data set config 3.csv data set config界面设置如下图: 第一个是文件的地址 第二个是文件中的数据格式 第三个是参数名 其他按如下设置就可以 4.然后在step 中找到需要设置参数化的请求参数,参数的值输入${user}

JMeter脚本参数化 的方法用

一.什么叫参数化,参数化用来做什么? 参数化是干嘛的呢,咱们在调用接口的时候,有入参,那参数里面的值如果经常变化的话,就得每次去改了,很麻烦,这时候咱们就把需要经常变的值,改成可以变化的或者是咱们提前设置好的一些值,这样的话,调用的时候就不用每次都改它的值了. 用Jmeter测试时包含两种情况的参数 二.Jmeter参数化的方式有三种 ?1.用户定义的变量 ?这种就是为了方便管理参数,只能有一个值,比如说ip地址不经常变化的 ?2.函数生成器 ?函数生成器可以参照一定的规则生成数据,这样的比如说

JMeter学习参数化User Defined Variables与User Parameters

偶然发现JMeter中有两个元件(User Defined Variables与User Parameters)很相近,刚开始时我也没注意,两者有什么不同.使用时却发现两者使用场景有些不同,现在小结一下. 相同点:二者都是进行参数化的. 一.User Defined Variables 1.添加方法:选择“线程组”,右键点击添加-Config Element-User Defined Variables,在这个控件中,定义你所需要的参数,如 2.使用方法:在对应的需要使用参数的位置,使用${ho

【jmeter】jmeter之“参数化”

参数化:简单的来理解一下,我们录制了一个脚本,这个脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统. 这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问. 前提: 1.假如,我们录制好了一个脚本(可以用badboy工具录制),在jmeter中打开,找到有用户名和密码的页面.如下: 2.我们需要“参数化”的数据,这里我用记事本写了五个用户名和密码,保存为.dat格式的文件. 我将这个文件放在了我

【jmeter】参数化User Defined Variables与User Parameters

偶然发现JMeter中有两个元件(User Defined Variables与User Parameters)很相近,刚开始时我也没注意,两者有什么不同.使用时却发现两者使用场景有些不同,现在小结一下. 相同点:二者都是进行参数化的. 一.User Defined Variables 1.添加方法:选择“线程组”,右键点击添加-Config Element-User Defined Variables,在这个控件中,定义你所需要的参数,如 2.使用方法:在对应的需要使用参数的位置,使用${ho

JMeter接口测试——参数化

参数化是干嘛的呢,咱们在调用接口的时候,有入参,那参数里面的值如果经常变化的话,就得每次去改了,很麻烦,这时候咱们就把需要经常变的值,改成可以变化的或者是咱们提前设置好的一些值,这样的话,调用的时候就不用每次都改它的值了. Jmeter参数化的方式有三种 1.用户定义的变量 这种就是为了方便管理参数,只能有一个值,比如说ip地址不经常变化的 2.函数生成器 函数生成器可以参照一定的规则生成数据,这样的比如说生成一些随机数 3.从文件中读取 文件读取就是事先写好一些数据,然后从文件中读取,这样的话