十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

jmeter实现sql语句的参数化

上一篇 / 下一篇  2012-09-06 22:41:13 / 个人分类:JMeter

文章来源
  • 文章来源:【转载】

在对数据库sql压力测试时,我们需要对sql语句做一个参数化的处理。51Testing软件测试网xw/~a{

Jmeter自带的函数可以获取参数值,函数如下:

*pu(A_"n0

_Random:产生随机数51Testing软件测试网,m? n$@X}aj!v{

_threadNum:线程号最为参数值

+]INpv$^+f}0

_CSVRead:从csv文件中读取,可以指定读取的列51Testing软件测试网OM:ms}'v c

_StringFromFile:从文件中读取,一次读取一行,文件的格式必须是.dat文件

lU8M|Zp0

以下面的select语句为例,对dfhruefhrhg对参数化处理,使每次执行时读取不同值51Testing软件测试网Uf|X(V;fl7LN

select b.sql_text from hr.aa a,hr.bb b where a.sql_id=b.sql_id and a.sql_id=‘dfhruefhrhg’

C,h6ClA0

步骤1:准备一个csv文件存放参数值,hr.aa表中sql_id的值最为参数

N)O9eXJ0

SQL>spool e:\sql_id.sql

bua}Sls f0

SQL>select sql_id from hr.aa group by sql_id;51Testing软件测试网3BF6eGCj"{

SQL>spool off;51Testing软件测试网)EOJpPE J

将sql_id.sql文件整理后重命名为sql_id.csv

8|X B0rl:fzj0

步骤2:添加一个用户自定义变量51Testing软件测试网5N`;Sk[%?$C0}6G h

1.按ctrl+F快捷键弹出函数助手,选择_CSVRead函数

E:OK.@,W\#[c$~0

51Testing软件测试网 zr?"Z0sP

其中CSV file to get values from填写csv文件的绝对路劲51Testing软件测试网 mv*Lx4J2@gb

CSV文件列号填写读取的csv文件的列数,列数从0开始51Testing软件测试网Z*_ Yg5k!R T:qjR

填写完之后点击生成

EMx?-p&`1\0

2.添加一个用户自定义变量:线程组–>添加–>配置原件–>用户自定义变量51Testing软件测试网R\ v#_!wT.p/J

名称取为sql_id,变量值为上一步产生的函数字符串51Testing软件测试网%?QRFBk

步骤3:在jdbc请求中将dfhruefhrhg替换为产生的函数字符串${__CSVRead(E\sql_id.csv,0)}

T-^0u2HR?"p0

select b.sql_text from hr.aa a,hr.bb b where a.sql_id=b.sql_id and a.sql_id=‘${__CSVRead(E\sql_id.csv,0)}'

{d*?(f?+W0

变量值为${__CSVRead(E\sql_id.csv,0)}

WJF%e%f?v0

变量类型为varchar51Testing软件测试网T"F'oC l/x Yg

步骤4:添加“察看结果树”,点击运行

q1Nb-\$d~Z2bU0

相关阅读:

TAG: Jmeter JMeter jmeter

 

评分:0

我来说两句

Open Toolbar