使用lr_db_connect对数据库进行性能测试
本帖最后由 云层 于 2011-11-23 12:53 编辑使用lr_db_connect对数据库进行性能测试云层 2011-11-23
废话这里不多说了,截取《性能测试进阶指南2》脚本开发部分,觉得这个对大家应该比较有用先拿出来了,由于没有出版社排版,不太好看的地方大家将就一下。
在Web service协议中,可以使用LR内置的数据库连接函数lr_db_connect来完成对各种常见数据库的连接,从而进一步通过场景并发进行数据库性能测试。lr_db_connect函数默认支持四种数据库连接模式:·
SQL (原生MS SQL Server)·
OLEDB (使用 OLEDB 连接数据库)·
ODBC·
ORACLE例如我们需要完成一个对Oracle数据库的连接,那么我们可以通过OLEDB的方式来完成,代码如下:
int NumRows=0;
int i;
lr_db_connect("StepName=Connect",
"ConnectionString=Provider=OraOLEDB.Oracle.1, Data Source=ORCL; Persist Security Info=True; User ID=cloudchen;Password=123456",
"ConnectionName=db1",
"ConnectionType=OLEDB",
LAST );
lr_start_transaction("SQL");
NumRows = lr_db_executeSQLStatement("StepName=PerformQuery",
"ConnectionName=db1",
"SQLStatement=select * from USERS",
"DatasetName=MyDataset",
LAST );
lr_end_transaction("SQL", LR_AUTO);//获得查询记录所开销的时间
lr_output_message("The query returned %d rows.", NumRows);
while(i<NumRows) {
lr_db_getvalue("StepName=GetValue",
"DatasetName=MyDataset",
"Column=USER_NAME",
"Row=next",
"OutParam=MyOutputParam",
LAST);
lr_output_message("The value is: %s", lr_eval_string("{MyOutputParam}") );
i=i+1;
}
lr_db_disconnect("StepName=Disconnect",
"ConnectionName=db1",
LAST);
老规矩**** Hidden Message ***** 支持云老大 支持云老大 回复 1# 云层
先来观摩,细下研究:victory: 刚刚群里看到就过来顶帖咯。 云老大 一个要顶 不顶誓不为人 看看 支持 顶云层老师 ``````````````````` 好好学习!支持! 回复 1# 云层 支持 支持云老大 支持 俺不太明白,这样干的目的是啥? 拜读云大 云老师杰作 云层老师我们公司最近有数据库性能测试的考虑但是初期经费不足,您能给我推荐款开源数据库性能测试工具吗? 云层老师我们公司最近有数据库性能测试的考虑但是初期经费不足,您能给我推荐款开源数据库性能测试工具吗 ...
Mr.Du 发表于 2011-11-23 21:45 http://bbs.51testing.com/images/common/back.gif
用junitperf试试!