分享

jmeter实现sql语句的参数化

 小猪窝969 2014-12-05

在对数据库sql压力测试时,我们需要对sql语句做一个参数化的处理。

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

_Random:产生随机数

_threadNum:线程号最为参数值

_CSVRead:从csv文件中读取,可以指定读取的列

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

以下面的select语句为例,对dfhruefhrhg对参数化处理,使每次执行时读取不同值

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

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

SQL>spool e:\sql_id.sql

SQL>select sql_id from hr.aa group by sql_id;

SQL>spool off;

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

步骤2:添加一个用户自定义变量

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

其中CSV file to get values from填写csv文件的绝对路劲

CSV文件列号填写读取的csv文件的列数,列数从0开始

填写完之后点击生成

2.添加一个用户自定义变量:线程组–>添加–>配置原件–>用户自定义变量

名称取为sql_id,变量值为上一步产生的函数字符串

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

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)}'

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

变量类型为varchar

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多