参数化之利用DBC Connection Configuration从数据库读取数据并关联变量
by:授客 QQ:1033553122
1. 下载mysql jar包
下载mysql jar包
http://dev.mysql.com/downloads/connector/j/
网盘下载地址:mysql-connector-java-commercial-5.1.25-bin.jar
查看jar包支持的mysql版本:
http://dev.mysql.com/doc/connector-j/en/connector-j-versions.html
查看mysql数据库版本:SELECT VERSION();
注:如果下载的jar包版本不支持mysql数据库,运行Jmter时可能会报错:no suitable driver found for jdbc:mysql//……..
为Jmeter添加jar文件
下载后解压.zip文件,把mysql-connector-java-x.x.x-bin.jar(例中:mysql-connector-java-commercial-5.1.25-bin.jar)放到Jmeter安装目录下的lib目录下(例中:D:\Program Files\apache-jmeter-2.13\lib)
2. 启动Jmeter,添加需要的原件,Sampler
略
3. 添加 DBC Connection Configuration
右键线程组->添加->配置元件->JDBC Connection Configuration
配置
说明:基础配置项如上方红色选框框选
Database URL:jdbc:mysql://mysql_host_ip:mysql_port/mysql_db_name
JDBC Driver class:com.mysql.jdbc.Driver
username:数据库用户名
password:数据库密码
4. 添加JDBC Request
右键线程组->添加->Sampler->JDBC Request
配置:
说明:
Variable Name:这里填写添加DBC Connection Configuration时填写的变量名,以便建立关联
Query Type:根据需要进行设置,例中选择查询
5. 添加查看结果树
目的:方便查看运行结果
右键线程组->添加->监听器->查看结果树
6. 添加正则表达式提取器
右键线程组->添加->后置处理器->正则表达式提取器
配置:
说明:
引用名称:自定义输入(参数化时会用到该名称
正则表达式:用于匹配的正则表达式,例如:username=(.+?)passwd(.+?)
注:()括号中的内容则为提取的内容
模板:通常的形式是:$n$,比如:$1$$2$
注:这里的n为第n个提取的内容,$n$即上述正则表达式中,第n个括号中的内容
匹配数字(0代表随机):0代表随机,1代表全部,1除外的正整数n代表第n个已提取的内容。
缺省值:正则匹配失败时,取的默认值,通常设置为空
引用名称的引用方式说明:
例1:
引用名称: name
正则表达式:username=(.+?)passwd(.+?)
模板:$1$$2$
匹配数字(0代表随机):1
缺省值:为空
引用名称:${name_g1} 表示第1个括号中的内容,${name_g2} 表示第2个括号中的内容
例2:
引用名称: name
正则表达式:username=(.+?)passwd(.+?)
模板:$1$$2$
匹配数字(0代表随机):2
缺省值:为空
引用名称:${name} 表示第2个括号中的内容
结论:也就说,有多个需要提取的内容(即多个括号),匹配数字设置为1时,取第n个括号中的内容需要用${name_gN}来获取
7. 参数化
8. 运行
9. 正则表达式说明:
():封装了待返回的匹配字符串。
.:匹配任何字符串。
+:一次或多次。
?:在找到第一个匹配项后停止
……待更新ing