转 Jmeter参数化的4种方法

用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填写在“同请求一起发送参数”的“名称”中,参数值$填写在对应的“值”中。

设置参数值的方法有如下几种:

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文件中读取
当参数的值没有规律且量不太大时,可以用这种方法。
具体做法如下:
    3.1 创建一个csv文件,内容为参数的值集,每一个参数占一列,第一行就开始写参数值,不要写参数名
    3.2 在测试计划或线程组中添加一个“配置元件”->“CSV Data Set Config”
    3.3 Filename中填写步骤2.1中csv文件的完整路径(当csv文件在bin目录下时,只需给出文件名即可)
    3.4 Virable Names中填写变量名,如果csv文件中有多个变量,则用逗号隔开
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正则表达式提取器

原文地址:http://blog.csdn.net/adeyi/article/details/7311410

时间: 2024-10-16 22:05:08

转 Jmeter参数化的4种方法的相关文章

Jmeter参数化的4种方法

用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"是它的值.

JMeter常用的4种参数化方式-操作解析

目录结构 一.JMeter参数化简介 1.JMeter参数化的概念 2.JMeter参数化方式之使用场景对比 二.JMeter参数化的4种主要方式-操作演练 1.User Parameters(用户参数) 2.CSV Data Set Config(CSV数据配置) Configure the CSV Data Source配置项&功能 3.User Defined Variables(用户自定义变量) 4.Function Helper中的函数 一.JMeter参数化简介 1.JMeter参数

Jmeter参数化方法

Jmeter参数化的方法分为以下三种:(一)用户参数(二)CSV Data Set Config(三)随机函数_Random (一)用户参数 1.方法: 线程组-->添加-->前置处理器-->用户参数 2. 参数化的写法: ${参数名} 3.用法: 用户数与线程数保持一致(用户>进程数,会取不到部分用户数据.用户数<进程数,会重复取用户数据.) (二)CSV Data Set Config 1.方法: 线程组-->添加-->配置元件--> CSV Data

jmeter参数化

背景:利用badboy录制在sogou搜索中搜索“领路测试”,将脚本导出成jmeter需要的格式,之后将文件用jmeter打开. jmeter参数化方法如下: 方法一.利用用户参数进行参数化 1.在step中右键,选择“添加”-->“前置处理器”-->“用户参数”,如下图 2.添加用户.添加变量 添加用户:表示添加一列,再添加当前变量的值 添加变量:表示添加一行,再添加一个变量 注意:当用户参数中用户较多时,为保证每个值都能遍历,请设置同样数目的线程组数量(和用户参数中用户数量一样多) 3.设

Jmeter 参数化请求实例

Jmeter 参数化请求实例 在jmeter中的请求可以参数化,其中参数化的方式有4种: 1.CSV Data Set Config 2.数据库 3.用户自定义变量 4.用jmeter中的函数获取参数值 第一种方式:CSV Data Set Config 1.创建一个data.txt文件,内容如下: 101010100,北京 101010200,海淀 101010300,朝阳 请求天气的URL为:GET http://www.weather.com.cn/weather/101010100.sh

性能测试——jmeter环境搭建,录制脚本,jmeter参数化CSV

一.Jmeter+jdk环境搭建 1.http://www.oracle.com/technetwork/java/javase/downloads/index.html,下载jdk. 直接安装就行了,然后cmd,输入java -version,就会出来你所安装的版本号.不用设置环境变量就好. 2.http://jmeter.apache.org/download_jmeter.cgi,下载jmeter 解压安装,待安装完成之后然后找到apache-jmeter-3.2\bin的 ,双击即可打开

SQL Server 批量插入数据的两种方法

在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题.下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters). 运行下面的脚本,建立测试数据库和表值参数. [c-sharp] view plaincopy --Create DataBase create database BulkTestDB; go use BulkTes

防止sql注入的三种方法

常用的避免SQL注入的三种方法 一,存储过程 在学习数据库视频的时候接触过,它是存储在数据库中的一些事先编译好的指令.在用的时候不用重新编写,直接调用就好了.所以,使用它可以大大提高程序的执行效率. 那么,如果创建一个存储程序并使用它呢?这是我们今天要解决的问题 1.创建过程 可编程性--下拉菜单--存储过程--右键--查询菜单--指定模板参数的值--新建查询--输入语句--查询菜单中的分析检查语法是否正确--执行 2.具体创建语法 在创建存储程序时,为了应对各种变换的数据,通常会涉及到带参数的

JMeter在里面Json数据处理方法

http://eclipsesource.com/blogs/2014/06/12/parsing-json-responses-with-jmeter/ Json作为一种数据交换格式在网络开发.特别是Ajax与Restful架构中应用的越来越广泛.而Apache的JMeter也是较受欢迎的压力測试工具之中的一个,可是它本身没有提供对于Json数据的响应处理. 本文中如果须要从HTTP的响应头中返回的Json格式的数据流中抽取某些特定的数据,数据格式例如以下: { "name":&qu