码迷,mamicode.com
首页 > 其他好文 > 详细

jmeter(十)参数化

时间:2016-12-29 06:46:19      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:ges   style   alt   conf   var   alias   密码   功能   variable   

jmeter可以用来做接口、性能测试,原理是模拟客户端向服务器发送请求,请求里面包含两种不同情况的参数,一种是包含在URL中,一种是请求中需要发送的参数。

包含在URL中的参数,例如:http://blog.imyalost.com/index.php/2016/11/11/jmeter中,“2016/11/11/jmeter”参数为URL的参数。

请求中需要发送的参数(只能列举GET请求),例如:http://www.it315.org/counter.jsp?name=zhangsan&password=123中,“zhangsan”是参数名,“123”是参数值。

至于POST请求,可以在jmeter脚本中“随请求一起发送的参数”和“随请求一起发送的文件”中找到。

PS:关于GET和POST请求方法,可以参见之前的博客:http://www.cnblogs.com/imyalost/p/5630940.html

对于jmeter脚本里面的参数进行参数化时,使用参数的地方书写格式为$。

 

关于jmeter的参数化,常用的有2种方法:

首先新建一个测试脚本,可以通过工具(badboy)录制或者自己手动编写

登录请求的界面如下:

技术分享

这里我们对登录的用户名密码进行参数化,将用户名密码写入txt文档,保存为.dat格式,编码类型选择UTF-8,因为配置元件——CSV Data Set Config对参数化的格式要求比较严格,用户名密码一一对应,之间用半角英文逗号隔开

技术分享

然后将保存的.dat文件放入计算机的某个盘里,这里我放入路径为:F:\jmeter\csvtest.dat

下面具体介绍参数化的两种方法:

 

一、借用函数助手

点击jmeter的界面,功能栏选项→ 函数助手对话框→ _CSVRead

技术分享

 

CSV file to get values from | *alias:CSV文件取值路径,即这里需要写入之前的需要参数化的参数的文件路径

CSV文件列号| next|*alias:文件起始列号:CSV文件列号是从0开始的,第一列为0,第二列为1,以此类推。。。

函数字符串:即生成的参数化后的参数,可以直接在登陆请求中的参数中引用,第一列为用户名,函数字段号为0,第二列为密码,函数字段号为1,以此类推进行修改使用即可

技术分享

替换参数化后的参数,然后修改线程数,执行脚本,通过监听器里结果树的请求内容,可以看到请求的参数都是参数化后的数据

 

二、配置元件——CSV Data Set Config

点击线程组添加配置元件→ CSV Data Set Config:

技术分享

说明:

Filename:F:\jmeter\csvtest.dat文件名,保存参数化数据的文件目录,可选择相对或者绝对路径

File encoding:UTF-8,F:\jmeter\csvtest.dat文件的编码格式,在保存时保存编码格式为UTF-8即可

Variable Names(comma-delimited):user,pwd 参数名称(如:有几列参数,在这里面就写几个参数名称,每个名称中间用分隔符分割,这里的 user,pwd,可以被利用变量名来引用:${user},${pwd}

Delimitet:定义分隔符,用来在“Variable Names”中分隔参数

Allow quote data:选项选为“true”的时候对全角字符的处理出现乱码 

Recycle on EOF?:是否循环读入;因为CSV Data Set Config一次读入一行,分割后存入若干变量中交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入

                           True=当读取文件到结尾时,再重头读取文件

                           False=当读取文件到结尾时,停止读取文件

Stop thread on EOF?:当Recycle on EOF为False时(读取文件到结尾),停止进程,当Recycle on EOF为True时,此项无意义

 

完成之后,将刚才生成的参数写入参数对应的值里面:

技术分享

以上就是2中参数化的方法,推荐使用CSV控件方法(因为函数助手参数化功能相比其较弱)

相比于loadrunner来说,jmeter参数化有以下不同:

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

2.参数文件的编码,尽量保存为UTF-8(编码问题在使用CSV Data Set Config参数化时要求的比较严格)

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

 

jmeter(十)参数化

标签:ges   style   alt   conf   var   alias   密码   功能   variable   

原文地址:http://www.cnblogs.com/imyalost/p/6229355.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!