一、首先,简单介绍下参数化的几种方法:
1.函数助手
2.CSV Data Set Config
3.用户定义的变量
4.正则表达式提取器
5.从数据库中提取
二、参数化
参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统。
这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问。
1.建立一个.dat文件(使用记事本编写),另存为在你你知道的路径中;
记事本另存为修改编码UTF-8.注意用户名和密码是一一对应的,中间用户逗号(,)隔开
建立线程组,上面有5个,所以我这里的线程数填了5
2.录制一个脚本(可以用badboy工具录制),在jmeter中打开,找到有用户名和密码的页面。如下:
这里是通用步骤,接下来就是正文了,要把参数化带入到jemter中;
=================
方法一:函数助手
点击“选项”-----“函数助手对话框”
跳出以下页面,修改框中信息,然后关闭窗口:
复制生成的参数化函数,在右则的参数化中找到我们要参数化的字段,这里对用户名和密码做参数化,第一列是用户名,列号为0;第二列是密码,列号为1;
在HTTP请求中添加以下信息:
这样使用函数助手参数化就结束了。
=============
方法二:CSV Data Set Config
在配置元件中找到 CSV Data Set Config:
在下图中填入相应的内容:我的文件路径:D:\jemter\apache-jmeter-3.0\backups\1.dat
使用刚才定义好的变量:
================
方法三:用户定义的变量
选中取样器,右键:添加-配置原件-用户定义的变量
在http请求中使用${name}、${pwd}来引用
===============
方法四:正则表达式提取器
在打开登录页的时候服务器有返回一个sid,获取到sid后,然后登录进入到首页;所以在这个请求下添加后置处理器:右键-添加-后置处理器-正则表达式提取器
【引用名称】:就是参数名称,在别处引用;如输入mysid,别处引用的时候使用${mysid}
【正则表达式】:表达式中()内的内容就是要提取的。如sid/(.*?)",表示查找sid/字符串之后的内容,直到出现第一个"时结束;(注意括号里的表示提取的内容)
【模板】:用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$1$(表示只有一组数据),$2$等等,表示解析到的第1个、第2个值给mysid
【匹配数字】:0代表随机取值,-1代表所有,1代表全部取值
【缺省值】:如果参数没有取到值,则使用此处的缺省值
注意:运行脚本后,在“察看结果树”监听器中,[响应数据]标签页先搜索sid出现的位置,及出现的规律,如出现的时候前面会有“sid/”字符串; 调试正则提取表达式的时候,可添加Debug Sampler来查看是否正确提取到对应的值(右键-添加-Sampler-Debug Sampler)
=================
方法五:从数据库获取