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

Loadrunner 如何访问数据库

上一篇 / 下一篇  2011-07-02 08:56:24 / 个人分类:loadrunner

Loadrunner中也提供了C对数据库操作的相关功能函数,以下这些数据库功能函数只能用于Web Services协议。

cpDHa*\0

lr_db_connect

0D]3\8i[+?D0

连接数据库

NAa&j,Y0

lr_db_disconnect

d3I:z8r%A [N0

断开数据库的连接

T]&d5J8TIiFN0

lr_db_executeSQLStatement

9o2P!pQLv\ld0

执行SQL语句

a D5}&U#y2n @ y#\0

lr_db_dataset_action51Testing软件测试网 L0r `(u(o'^+j

对数据库执行操作51Testing软件测试网'o l.I$IM0fA

lr_db_getValue

Y;?,y?N$XzjdH0

从数据集中检索值

Be @4s#tK0

各函数语法如下:51Testing软件测试网6Ut/i^D5E7f N C^d

lr_db_connect("StepName", "ConnectionString=<connection_string>", "ConnectionName=<connection_name>", "ConnectionType=<connection_type>", LAST);

{@_a{ |:^0

lr_db_disconnect("StepName=<step_name>", "ConnectionName=<connection_name>", LAST);51Testing软件测试网D"B7k3Y6G

lr_db_executeSQLStatement("StepName=<step_name>", "ConnectionName=<connection_name>", "SQLStatement=<statement>", ["DatasetName=<dataset_name>",] LAST);

R`6N;nn)S P0

lr_db_dataset_action("StepName=<step_name>", "DatasetName=<dataset_name>", "Action=<action>", LAST);51Testing软件测试网6^s\Tgl

lr_db_getValue("StepName=<step_name>", "DatasetName=<dataset_name>", "Column=<column>", "Row=<row>", "OutParam=<output_parm>", LAST);

u ^2{7C:O'G0

下面以oracle数据库为例:

A+NU)j?_I:]0
Action()51Testing软件测试网dh0{:N:F^b TN6[
{51Testing软件测试网%?Bq*U){~i+i*Q$x
intNumRows=0;
-YmQ9y"r"P J6~dx0
inti=1;
'Qzt)A9w0
c W3?ih#aV(\e?0
//建立数据库连接
gQ%r;a+}/g0tE#eZ0
lr_db_connect("StepName=DatabaseConnection",51Testing软件测试网;|jt]7eF%N:C}
"ConnectionString=Provider=OraOLEDB.Oracle.1;Password = test ;Persist Security Info=True; User ID = test ; Data Source = betadb ; Server = 172.19.188.191",
0C;D7b9D-Vv?0V VZ U0
"ConnectionName=InvDatabaseConnection",51Testing软件测试网'}i+[ ]F~ ?0R#}C ]
"ConnectionType=OLEDB",
}i,[^QV;Y0LAST);51Testing软件测试网.S8Nk'Ox)q2j4s[
51Testing软件测试网;RU(y:hpr
//执行SQL语句
0e5hQ\+a0
NumRows=lr_db_executeSQLStatement("StepName=PerformQuery",51Testing软件测试网[j]7[8? b
"ConnectionName=InvDatabaseConnection",
7Cx5f-Hu3Rc^L.I0
"SQLStatement=SELECT cons_no,cons_id FROM c_cons where rownum<10",51Testing软件测试网3PT.J/x nls
"DatasetName=MyDataset",
*q*v`6^q"a,BV0LAST);
xSJ3pJ l/s[ j C0lr_output_message(
"The query returned %d rows.", NumRows);
+{+O`9W6HA\*K{0
.vDj C.~Rfh0
//打印出结果51Testing软件测试网 }f:Ic/?
lr_db_dataset_action("StepName=PrintDataset",
?za#SE)W?0B _/X0
"DatasetName=MyDataset",51Testing软件测试网}8?"R:X O~({
"Action=PRINT",
q~Z EZ7_J a0LAST);
;Q r M1]:`*E,Q\u0
w8@2kQD0
pjLv[0
//利用循环检索数据值
7u W7j$P h*c0
while(i<10) {
t8VW6g B\"S0lr_db_getvalue(
"StepName=GetValue",51Testing软件测试网/Bz/a(l @0`9igk+]2i/y
"DatasetName=MyDataset",
2}FSo(U9@/D0
"Column=CONS_NO",
8d$p(A n1W+^I!Z0
"Row=next",51Testing软件测试网/yj/n*od
"OutParam=MyOutputParam",51Testing软件测试网#rb k(WUX8NL
LAST);
1n*T^&[^T2N4T|l#Q0lr_output_message(
"The value is: %s", lr_eval_string("{MyOutputParam}") );51Testing软件测试网 o1Aej:] A
i
=i+1; }
q;m&v*oaiR~0
D0j0WFC+A051Testing软件测试网/\hr0_N
//释放结果51Testing软件测试网l%dA+UIRx2e0BM9g C
lr_db_dataset_action("StepName=RemoveDataset",51Testing软件测试网PhZ$yeFo{O
"DatasetName=MyDataset",
4Na0Yp[3j9Dp"\6[0
"Action=REMOVE",
*L*F ?QQ)PA0LAST);
P Wg&?sa9h0
2M#G'ZUr4dqE7p@0
h K(J.ql Q?(H0
//断开数据库连接
7|u;tMv6X q!lT0
lr_db_disconnect("StepName=Disconnect",
/eC'ku7wf*Bw` ]8f#v0
"ConnectionName=InvDatabaseConnection",
8Sn2uZ Ls0LAST);
8te'oKh3]` H,\9A |;p051Testing软件测试网 t-n5r S1A7_D
return0;51Testing软件测试网H QO)S5C&o&x
}

运行后,输出信息如下:

3d'PfdV)g*w0

Virtual User Script. started
*O f-uq q{0Starting action vuser_init.51Testing软件测试网KL.Qa&hI:t8Xj
Ending action vuser_init.51Testing软件测试网(d"Zq"M,g+X
Running Vuser...51Testing软件测试网3S;r:sz'iRx?^
Starting iteration 1.
3P$_{)r5VF0Starting action Action.
4w9i/H_'{ BJ2e0Action.c(6): DB Connection "DatabaseConnection" started ... Wait ....
4y"k/pw$pN3J5k3r;n0Action.c(6): DB connection was successful51Testing软件测试网o/K6T{(d1~nKd:m
Action.c(13): SQL Statement  execution "PerformQuery" started51Testing软件测试网1z6b!CF!J!~
Action.c(13): SQL Statement  execution was successful
)Z2p4{(E]*q0Action.c(13): ================================================
xU0^G+TG;B0Action.c(18): The query returned 9 rows.51Testing软件测试网!gwg1kW*GS] vS
Action.c(20): Dataset action "PrintDataset" started51Testing软件测试网(o Z ^#P2E)Y2j5k%DI
Action.c(20): 
1E:Qn%Oc4x(U1bC5eH0Action.c(20): ******** Start printing ***********
B#xm'}.J2i {w8j%@0Action.c(20): Number of records in dataset  = 9
'G6{MK0FC^a/|0Action.c(20): Num.   CONS_NO                  CONS_ID                  
2}9y9[dK*db5Z0b0Action.c(20): =========================================================
cSDp(BC,a0Action.c(20): 1      3096451321               310306247                
T#t D6n(y^7q0Action.c(20): 2      3097730300               3376536                  
Oc~-XK0Action.c(20): 3      0000265443               3376537                  51Testing软件测试网X7w c X;Hx3f(c.`
Action.c(20): 4      0000265456               3376538                  51Testing软件测试网!who x1s{
Action.c(20): 5      0000265469               3376539                  51Testing软件测试网@0R6n/iy[^b$j%}u
Action.c(20): 6      0000265472               3376540                  
go }y O0Action.c(20): 7      3098976354               314348099                
e;|[?3@/QCa P0Action.c(20): 8      0000265498               3376542                  
'Sw2{3EkN4i3}/YZ j0Action.c(20): 9      0000265502               3376543                  
usRK.OJ0Action.c(20): ********End printing ***********
{ wH}.D9}0Action.c(20): 51Testing软件测试网4HZ,U)O5r*s
Action.c(20): Dataset action was successful51Testing软件测试网3[kG|a M7W
Action.c(27): Get db value "GetValue" started
$qb"W-g2o`'W4p0Action.c(27): Get db value was successful
#Vke&S4j0iR0Action.c(27): ================================================51Testing软件测试网/I2E FB T,B
Action.c(33): The value is: 3096451321
0] x3fXh)J0Action.c(27): Get db value "GetValue" started51Testing软件测试网y&VF"}4i1t
Action.c(27): Get db value was successful
(k,fnP$W)?H)]Ys0Action.c(27): ================================================
)KW+o(j'~u,V0Action.c(33): The value is: 309773030051Testing软件测试网 J6I#B(b"]a
Action.c(27): Get db value "GetValue" started51Testing软件测试网7ri!S9o#@*l
Action.c(27): Get db value was successful
;sb6fk7C3^M.~P0Action.c(27): ================================================51Testing软件测试网d+{#T-Cl&`&sc/T
Action.c(33): The value is: 0000265443
.s\\ Wr0Action.c(27): Get db value "GetValue" started51Testing软件测试网 Eo{ rF!?0z6pI!p
Action.c(27): Get db value was successful
3f TT,E|)l0Action.c(27): ================================================
p C1`.AT7Bv X7q0Action.c(33): The value is: 000026545651Testing软件测试网(v4V%qa L8{ u^
Action.c(27): Get db value "GetValue" started
p,a5G#X"xX4B/[rX+z0Action.c(27): Get db value was successful51Testing软件测试网c6bso#~#_
Action.c(27): ================================================
_\7io$f%b w.W#P8J0]0Action.c(33): The value is: 0000265469
8c'rCJb K.hdrt0Action.c(27): Get db value "GetValue" started
lq+PJ%}^0Action.c(27): Get db value was successful51Testing软件测试网B,{x'I/c1\X
Action.c(27): ================================================
dj-H7Wii bM0M0Action.c(33): The value is: 0000265472
]ms_oaXY/V` ?0Action.c(27): Get db value "GetValue" started
*Js:Yo-p$X%@]8e6n0Action.c(27): Get db value was successful
| Ur}*W|5gj0Action.c(27): ================================================
+Z3~%aN2C-A)HE1J0Action.c(33): The value is: 309897635451Testing软件测试网.w:A f_2Y.Q
Action.c(27): Get db value "GetValue" started
1bT4oc0X0Action.c(27): Get db value was successful
~2p!d ADoH0Action.c(27): ================================================51Testing软件测试网1~,eB4C0_QHk&? ]
Action.c(33): The value is: 000026549851Testing软件测试网+e5Z.m `W1Kf'^
Action.c(27): Get db value "GetValue" started51Testing软件测试网3a+k5~!oB_ V9^-m)J
Action.c(27): Get db value was successful
/L)YNf(K$V0Action.c(27): ================================================51Testing软件测试网5V0Z f8?M,@)w"V;c
Action.c(33): The value is: 0000265502
,Gmf1~C)?:f3t(uz0Action.c(36): Dataset action "RemoveDataset" started
M%{hP7{`P0Action.c(36): Dataset action was successful
\4Mfr6v(L5\0Action.c(41): DB disconnect "Disconnect" started
&yPZ6C9h0Action.c(41): DB disconnect was successful51Testing软件测试网+N*wu5Sy q
Action.c(41): ================================================51Testing软件测试网g7oe(`IZ
Ending action Action.
@^ t8b1j2xX0Ending iteration 1.
by#N*} Q{,O0Ending Vuser...51Testing软件测试网u[/@ Z1J5lTlmN
Starting action vuser_end.
,YV|\sd@2C7@0Ending action vuser_end.
7Z:Z N"w@0h0Vuser Terminated.51Testing软件测试网K:P#x K.F


TAG: LoadRunner loadrunner Loadrunner

让测试飞起来的个人空间 引用 删除 让测试飞起来   /   2016-09-02 20:55:57
你好!
我这边打印出来的数据只每条数据都只是显示前面一部分“he value is: 验证码:8”8后面还有数据的!!
让测试飞起来的个人空间 引用 删除 让测试飞起来   /   2016-09-02 20:55:02
5
老曲的小窝 引用 删除 jetqu   /   2015-11-04 16:37:45
原帖由new_lio于2012-10-09 12:16:42发表
Error: DB Connection failed {"未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序。"}

.

应该是你用的ORCLE需要相关客户端的支持。
引用 删除 new_lio   /   2012-10-09 12:16:42
Error: DB Connection failed {"未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序。"}

这个是什么原因啊,连接数据库的时候
引用 删除 new_lio   /   2012-10-09 12:16:05
5
 

评分:0

我来说两句

Open Toolbar