jmeter如何参数化?Jmeter参数化设置的5种方法

jmeter如何参数化?我们使用jmeter在进行测试的时候,测试数据是一项重要的准备工作,每次迭代的数据当不一样的时候,需要进行参数化,从参数化的文件中来读取测试数据。那么,你知道jmeter如何进行参数化吗?接下来小编就给大家总结了Jmeter参数化设置的5种方法,主要详细介绍的是用Csv Data配置元件来进行参数化,对于Jmeter参数化设置不太了解到的小伙伴一定要仔细看哦!!

用Jmeter测试时包含两种情况的参数,一种是在url中,一种是请求中需要发送的参数。

URL中的参数,如:http://blog.da-fang.com/index.php/2010/06/01/jmeter参数/,其中“2010/06/01/jmeter参数”为url参数。

请求中的参数,此处只能举例get请求,如:http://blog.da-fang.com/?category=Web,其中“category”是参数名,“Web”是它的值。

对于post请求,用jmeter录制后,可以在请求的“同请求一起发送参数”和“同请求一起发送文件”中找到。

参数化Jmeter脚本时,使用参数的地方书写格式为$

对于URL“http://blog.da-fang.com/index.php/2010/06/01/jmeter参数/”,在Jmeter的http请求中blog.da-fang.com填写在“服务器名称或IP”中;/index.php/$/填写在“路径”中。

对于请求中的参数http://blog.da-fang.com/?category=Web,在Jmeter的http请求中blog.da-fang.com填写在“服务器名称或IP”中;/填写在“路径”中;参数名称category填写在“同请求一起发送参数”的“名称”中,参数值$填写在对应的“值”中。

Jmeter参数化设置的5种方法:

1. 用Jmeter中的函数获取参数值,__Random,__threadNum,__CSVRead,__StringFromFile,具体调用方法如下:

${__Random(,,)},$,${__CSVRead(,)},${__StringFromFile(,,,)}。

参看Jmeter函数的使用,通过菜单“选项”->“函数助手对话框”,即可在“函数助手”弹出框上找到Jmeter的函数。

其中${__Random(,,)}方法的第一个参数为随机数的下限,第二个参数为随机数的上限,第三个参数为储存随机数的变量名;${__CSVRead(,)}方法中第一个参数是文件名,第二个参数是文件中的列(列数从0开始);${__StringFromFile(,,,)}方法中第一个参数是文件名,${__StringFromFile(,,,)}方法中没有指定读取文件中的哪一列的参数,所以${__StringFromFile(,,,)}只能读取包含一列的文件。

2.用户定义的变量

2.1 添加“配置元件”->“用户定义的变量”

2.2 “名称”中输入变量名称,此处以登录为例,定义两个变量username和password。“值”中可以直接输入值,也可以通过Jmeter的函数__CSVRead,__StringFromFile从csv或dat文件中读取,还可以通过前缀加随机数的方法设置参数。

当参数值是某个前缀加一个数字时,可以用前缀名加${__Random(,,)}或$的方法设置参数值。如进行登录测试之前,先准备了用户名为perf_0到perf_1000的用户,那么用户名就可以设为perf_{__Random(0,1000,)}。

当参数值没有规律的且量不太大时,可以通过${__CSVRead(,)},${__StringFromFile(,,,)}从文件中读取,如将用户名和密码保存在user.csv文件中,user.csv的内容如下:

oriana,123456

admin,admin

dandan,123456

因为user.csv文件中有两列数据,所以只能用${__CSVRead(,)}函数,username参数后的值设为${__CSVRead(user.csv,0)},password参数后的值设为${__CSVRead(user.csv,1)}。

3. 从csv文件中读取(用Csv Data配置元件来进行参数化)

当参数的值没有规律且量不太大时,可以用这种方法。

具体做法如下:

1、打开jmeter图形界面工具,打开之前的脚本。

2、右键【添加】-【配置元件】-【Csv Data Set Config】

3、这个配置元件可以允许从你输入的路径来读取文件,然后根据分隔符获取到数据。

4、如下图,输入的数据。

讲解:

a,名称和注释不需要过多解释,自己定义。

b,Filename:参数化文件的读取位置。这个路径可以是绝对路径也是可以相对路径。在分布式测试中,还是利用相对路径比较方便,因为有的机器可能安装路径不一样。

c,File Encoding:编码格式,选择utf-8

d,Variable Names:变量名称。这里定义的变量名称,后面就可以直接用来引用了。(多个变量名称以逗号隔开。例如username,passwd。参数化文件中同样有对应的两列数据。)

e,Ignore first line:忽略第一行数据。(类似loadrunner中第一行数据是变量名称,如果你的配置文件中为了记忆第一行也是变量名,可以选择是忽略这行数据)

f,Delimiter:分隔符,默认逗号。

g,Allow quoted data:是非选项,是否允许变量中间有分隔符,这里最好先默认false,数据中间最好不要有分隔符。

h,Recycle on EOF和Stop thread on EOF按需设置。是否循环,到结尾是否停止测试。我这里设置了True和False

i,Sharing mode:先选择所有的线程都可以利用此参数化。

5、准备测试数据。这里只是简单的写了几个数据来演示效果。

6、在请求中引用该变量。

引用方法是 ${}   ;其中{}内写入参数化中的变量。

注:在parameter中加入一些多余的参数没有问题,故在访问百度的请求后面随意加了一个参数。

7、修改循环次数。这里设置6次,是因为参数里面有5个数据,测试一下数据取完之后的效果。

8、点击运行,查看结果树。

可以看到共发送了6次请求,而且请求参数中已经获取了变量的数据。

9、打开第二个请求。可以看到第二个请求的参数里面变量值为data-b。

顺序读取的。

10、找到最后一个请求,点开查看。

请求参数中searchid是data-a,说明数据是从头开始取的,也就是数据是遍历后循环的。

参数化完成了。

4.从数据库中获取

当参数的值没有规律且量比较大时,可以选用这种方法。

具体做法如下:

4.1 下载MySQL JDBC “http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.12.zip/from/http://ftp.jaist.ac.jp/pub/mysql/”

4.2 解压下载的zip包后,将其中的mysql-connector-java-5.1.12-bin.jar放到Jmeter的lib目录下

4.3 添加“配置元件”->“JDBC Connection Configuration”,设置下列参数:

Database URL:jdbc:mysql://host:port/db(如jdbc:mysql://localhost:3306/testlink

JDBC Driver class:com.mysql.jdbc.Driver

username:连接数据库的用户名(如root)

password:连接数据库的密码

4.4 添加“Sampler”->“JDBC Request”,在SQL Query中输入查询语句,如下:

SELECT CONCAT (“[",

GROUP_CONCAT(

CONCAT("{username:'",login,"'"),

CONCAT("{password:'",password),"'}"),"]“) AS json FROM users

4.5 在4.4中的JDBC请求中添加“后置处理器”->“正则表达式提取器”,以提取3.4中的用户名和密码为例设置正则表达式提取器的参数:

引用名称:user

正则表达式:username:’(.+?)’\{password:’(.+?)’

模板:$1$$2$

使用时,user_g1即为用户名,user_g2即为对应用户名的密码;更多正则表达式提取方法参见Jmeter正则表达式提取器

5.用正则表达式从前面请求的响应数据中提取,具体操作见Jmeter正则表达式提取器

教程结束,以上就是关于jmeter如何参数化?Jmeter参数化设置的5种方法步骤,希望对大家有所帮助!更多jmeter相关教程,请继续关注我们网站。

相关教程推荐:

(0)

相关推荐

  • Windows10系统电脑锁屏设置的四种方法

    如果需要临时离开计算机,又无法在短时间内处理完桌面任务,锁定屏幕是最好的选择,屏幕锁定有如下四种方法: 1.使用Win + L 组合键,可以快速锁屏: 2.在Win10开始菜单中进行锁屏操作: 3.按 ...

  • 腾达无线路由器信号放大怎么设置的几种方法

    操作方法 01 在完成路由器的设置之后,腾达无线路由器信号放大怎么设置又是路由器的主人们所考虑的事情了.辛辛苦苦按好的路由器当然希望信号可以放大,那么今天就透露给你腾达无线路由器信号放大怎么设置的几种 ...

  • 基于windows的源地址路由设置的3种方法

    一般的路由设置方式为目的路由,即对目的IP做匹配,若满足一定的规则,则把数据从某个网口发出去(同时也决定了目的MAC地址)。源地址路由,顾名思义,对源地址IP做匹配,若满足一定的规则,则把数据从某个网 ...

  • qq浏览器怎么设置默认浏览器?qq浏览器设置默认3种方法

    在这里介绍三种方法, 第一种,最简单的.如图 第二种:用到360 设置默认.如图 第三种:计算机自带的默认方式,如图

  • Word怎么恢复默认设置? Word恢复默认设置的四种方法

    在使用word的过程中,我们有时不知道怎么就突然让word的默认格式等发生了变化,每次编辑都要重新设置回来,非常的麻烦,这时候我们就希望能够恢复word的默认设置,那么如何恢复word默认设置呢? 方 ...

  • 笔记本电脑恢复出厂设置的一种方法

    无论台式电脑还是笔记本电脑,在使用一段时间后都会变得反应慢.平常我们会在开始装系统时做个备份恢复电脑或者用光盘从装系统.我现在说的一种方法跟我们所使用的手机恢复出厂设置一样方便. 操作方法 01 本人 ...

  • 关于笔记本无线上网设置的两种方法

    无线上网并不新鲜,但是很多朋友都不会对笔记本无线上网设置。尤其是两台笔记本无线上网设置,更是无从下手。那么,大家不用着急了,看完本文后,相信,大家对两台笔记本无线上网设置就会有一定了解了。 目前我们有 ...

  • 两台笔记本无线上网设置的两种方法

    无线上网并不新鲜,但是很多朋友都不会对笔记本无线上网设置。尤其是两台笔记本无线上网设置,更是无从下手。那么,大家不用着急了,看完本文后,相信,大家对两台笔记本无线上网设置就会有一定了解了。 目前我们有 ...

  • 荣耀路由器Pro恢复出厂设置的三种方法

    荣耀路由Pro-路由器如何恢复出厂设置?一共有三种他方式,方式一,通过复位按钮Reset键或Hi按钮恢复出厂.方式二,通过手机HiLink APP恢复出厂.方式三,通过Web配置界面恢复出厂.如果您忘 ...