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

Loadrunner 如何访问数据库

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

Loadrunner中也提供了C对数据库操作的相关功能函数,以下这些数据库功能函数只能用于Web Services协议。51Testing软件测试网#Yg^B5r+y%i `

lr_db_connect

"i1o1iEZ0U?mA0

连接数据库

)C3Q1gu(i0

lr_db_disconnect

M'UlNq+Qtg0

断开数据库的连接

,ke#l r)g0

lr_db_executeSQLStatement51Testing软件测试网*WE _g.yDyN

执行SQL语句51Testing软件测试网3XQg/k^`w7u!jl

lr_db_dataset_action

%v$?:V,C0cm)v0

对数据库执行操作

W8U|8R*v2r.wC0

lr_db_getValue

N I*gq+k k3q0

从数据集中检索值51Testing软件测试网&OxMIoV{4iW

各函数语法如下:

AC+nO[N0

lr_db_connect("StepName", "ConnectionString=<connection_string>", "ConnectionName=<connection_name>", "ConnectionType=<connection_type>", LAST);51Testing软件测试网3Y5ql:N4IB gx

lr_db_disconnect("StepName=<step_name>", "ConnectionName=<connection_name>", LAST);

UfdK,P#d0

lr_db_executeSQLStatement("StepName=<step_name>", "ConnectionName=<connection_name>", "SQLStatement=<statement>", ["DatasetName=<dataset_name>",] LAST);51Testing软件测试网*xR1oum7L:e9S8G

lr_db_dataset_action("StepName=<step_name>", "DatasetName=<dataset_name>", "Action=<action>", LAST);51Testing软件测试网8\Y*?xX

lr_db_getValue("StepName=<step_name>", "DatasetName=<dataset_name>", "Column=<column>", "Row=<row>", "OutParam=<output_parm>", LAST);51Testing软件测试网 eJ t3` x

下面以oracle数据库为例:

[C)e"u6n|3U0
Action()51Testing软件测试网-oLSI"]rI%|
{51Testing软件测试网6j*ov)By5`3~f
intNumRows=0;
-lfx7~0a Ac0
inti=1;
;vX#_8n%c1U7U0
H g2S-]%u8Y]~\0
//建立数据库连接51Testing软件测试网nv1a"Ii
lr_db_connect("StepName=DatabaseConnection",51Testing软件测试网F d;GqtbO\i
"ConnectionString=Provider=OraOLEDB.Oracle.1;Password = test ;Persist Security Info=True; User ID = test ; Data Source = betadb ; Server = 172.19.188.191",
0~9J f vX&I F*l0
"ConnectionName=InvDatabaseConnection",
Aiiri4@0
"ConnectionType=OLEDB",51Testing软件测试网Q"f'Q,b@;C o
LAST);
p0C*r-T;Ft7N.m!q4~0
2`t)W4Whfq$Rr0
//执行SQL语句51Testing软件测试网,k'|s9T ~
NumRows=lr_db_executeSQLStatement("StepName=PerformQuery",51Testing软件测试网Mt)b@n;zR}
"ConnectionName=InvDatabaseConnection",51Testing软件测试网P2K9q.aT
"SQLStatement=SELECT cons_no,cons_id FROM c_cons where rownum<10",51Testing软件测试网;xnYL&P;frtP @E.b
"DatasetName=MyDataset",51Testing软件测试网 y(JW6E[r
LAST);51Testing软件测试网1a)m%\'c A6S`
lr_output_message(
"The query returned %d rows.", NumRows);
!|*e| `#R051Testing软件测试网"cA zpN{2?
//打印出结果
Ja*fi4]*c0
lr_db_dataset_action("StepName=PrintDataset",
,[fS5e/L]|2| `0
"DatasetName=MyDataset",51Testing软件测试网5f%LRP'e~
"Action=PRINT",
1D7C*a.Z1oU$f| m0LAST);51Testing软件测试网hQka_`S

NvO.f z E j/g)~051Testing软件测试网f;T!F~kYl
//利用循环检索数据值
#S I5u-~No2q0
while(i<10) {51Testing软件测试网A y#g$j{,U^K%Z A
lr_db_getvalue(
"StepName=GetValue",
M|JQ&~,^!{I0
"DatasetName=MyDataset",51Testing软件测试网a Q.}/k5m ft'EB
"Column=CONS_NO",51Testing软件测试网'V4f9Or$e
"Row=next",
b,M%lQRi h0
"OutParam=MyOutputParam",51Testing软件测试网:WE7IjW#V
LAST);
9O2y%\v J1?6k0lr_output_message(
"The value is: %s", lr_eval_string("{MyOutputParam}") );
r6ueb8s0SA#t0i
=i+1; }
4[F^zRb3D051Testing软件测试网$`3nc A3U
51Testing软件测试网 MD;Cxc` i
//释放结果51Testing软件测试网 ~ ~W,V1Pi
lr_db_dataset_action("StepName=RemoveDataset",
3K8UER$K'V i0
"DatasetName=MyDataset",
;{s!sI4e8]0
"Action=REMOVE",
g bU.f U0LAST);
i6e-\p i0
\`&i&`E1c'yC\%bbL0
auR K2Htab:^m`-T0
//断开数据库连接
UxY7?%c$pg(?0
lr_db_disconnect("StepName=Disconnect",
T6Z;aQXU9`D2o]0
"ConnectionName=InvDatabaseConnection",
!D#UGcV0LAST);51Testing软件测试网$V Dc&_Ng1OC
51Testing软件测试网*Ep,N.`RU.xY
return0;
HWt(~J5?0}

运行后,输出信息如下:51Testing软件测试网~C.o0uc*M8l8b

Virtual User Script. started
*T Cq^M AU0Starting action vuser_init.
HK)}/N7p+r U!o0Ending action vuser_init.51Testing软件测试网$l*r'H&K:r2O$B@
Running Vuser...
#b1vCHff6p*D0Starting iteration 1.51Testing软件测试网K @j.YUT#z
Starting action Action.
cB {-ax7O$CugRR0Action.c(6): DB Connection "DatabaseConnection" started ... Wait ....
n"U,`? R6EC0Action.c(6): DB connection was successful51Testing软件测试网[:kd3W0I1l,@
Action.c(13): SQL Statement  execution "PerformQuery" started
:AHxX3m9BI OQ Bz0Action.c(13): SQL Statement  execution was successful51Testing软件测试网 ] m#]'b~g?:D
Action.c(13): ================================================
iI$Q V+Cj}W'R0Action.c(18): The query returned 9 rows.
p#|r-w3x @0Action.c(20): Dataset action "PrintDataset" started51Testing软件测试网4Le?/T8c
Action.c(20): 51Testing软件测试网&lvwJ]l|R
Action.c(20): ******** Start printing ***********
j%zP&`:z~a8b1|1_0Action.c(20): Number of records in dataset  = 9
H6?e+[s0Action.c(20): Num.   CONS_NO                  CONS_ID                  51Testing软件测试网)u0x+mn ^)}
Action.c(20): =========================================================51Testing软件测试网E2u!q0OcX
Action.c(20): 1      3096451321               310306247                51Testing软件测试网+yj7Y;a+D ^P B3J%tK
Action.c(20): 2      3097730300               3376536                  
oz6Z0f_WMcp0Action.c(20): 3      0000265443               3376537                  51Testing软件测试网Na-BMLxE
Action.c(20): 4      0000265456               3376538                  51Testing软件测试网Q-JV+]q)eXqe
Action.c(20): 5      0000265469               3376539                  51Testing软件测试网 ft_"Z6{
Action.c(20): 6      0000265472               3376540                  
U-VGgp])|g0Action.c(20): 7      3098976354               314348099                
(?z7D\ n-irg0Action.c(20): 8      0000265498               3376542                  
V"Be _i3]j0Action.c(20): 9      0000265502               3376543                  51Testing软件测试网uZaUavs!J*{
Action.c(20): ********End printing ***********
XF3o3^ l!A&o"Y0b9}0Action.c(20): 
H Se0G6RCi0Action.c(20): Dataset action was successful51Testing软件测试网z,qwtlK6R5Pa7^'u
Action.c(27): Get db value "GetValue" started51Testing软件测试网v^.pOkFo
Action.c(27): Get db value was successful
-W-t V.Q,MkU?SG0Action.c(27): ================================================51Testing软件测试网:R3Kq+@u`9Gu y*Z0t
Action.c(33): The value is: 3096451321
o:c4?M&u0Action.c(27): Get db value "GetValue" started
cF(R Tn3M0Action.c(27): Get db value was successful51Testing软件测试网-a? z9K'H[J {#^
Action.c(27): ================================================
PY m0wh%I d)d0Action.c(33): The value is: 3097730300
{I^"yDuG0Action.c(27): Get db value "GetValue" started
1rg_+M a[5i$ykV4l0Action.c(27): Get db value was successful51Testing软件测试网6Oe)u_+g6HJ#exe
Action.c(27): ================================================
x4nK M9f&mW5MJ0Action.c(33): The value is: 0000265443
}g7?:JyIW0Action.c(27): Get db value "GetValue" started
pEm*_8hl0Action.c(27): Get db value was successful
9Ie8Q3l)T0Action.c(27): ================================================51Testing软件测试网'{&a USK"f
Action.c(33): The value is: 000026545651Testing软件测试网;d;C5m:h1os"S
Action.c(27): Get db value "GetValue" started
\ s+S+b_7dE6e0Action.c(27): Get db value was successful
$m{ S*hM0Action.c(27): ================================================
+k}(L Dl5yO&X6P.^-YD+T0Action.c(33): The value is: 0000265469
k%D4\,V{!X8MI&Ff0Action.c(27): Get db value "GetValue" started51Testing软件测试网6|5f._z,U.C} [
Action.c(27): Get db value was successful51Testing软件测试网N2LB4qB[
Action.c(27): ================================================51Testing软件测试网TU/~#d/ZlR2O_
Action.c(33): The value is: 0000265472
8D8TB1` X!Y7W0Action.c(27): Get db value "GetValue" started
uC Dbj3s[g0Action.c(27): Get db value was successful51Testing软件测试网"R;@#S+n`].m0V/mOa\
Action.c(27): ================================================
6mJ b3[_0Action.c(33): The value is: 3098976354
:u8@zU:[(FMI\R0Action.c(27): Get db value "GetValue" started
W,pQ?HJ%wl*r0Action.c(27): Get db value was successful51Testing软件测试网'io1bX!u%W Am
Action.c(27): ================================================51Testing软件测试网\]]g_Z/UyU+?
Action.c(33): The value is: 0000265498
x{ irB8j'l0Action.c(27): Get db value "GetValue" started
nx.c5`7c0Action.c(27): Get db value was successful
$L e4\`;iSO0Action.c(27): ================================================51Testing软件测试网8~uP3} ~;K
Action.c(33): The value is: 000026550251Testing软件测试网%~)}1T$\,j']5q9c4Fu
Action.c(36): Dataset action "RemoveDataset" started
)|2Uc_#W;M e5O0Action.c(36): Dataset action was successful51Testing软件测试网%A)oUI3f b*r9[8wf X
Action.c(41): DB disconnect "Disconnect" started51Testing软件测试网Db1t:dXC`(~#k*s
Action.c(41): DB disconnect was successful51Testing软件测试网pYi4P c$V-K#V
Action.c(41): ================================================51Testing软件测试网:e&@ Y}m_
Ending action Action.
:F y'y'][1DW~OX0Ending iteration 1.
.nUju;h%Y0Ending Vuser...51Testing软件测试网 rFLE ~D&[
Starting action vuser_end.
|$M3^+lhN0O0Ending action vuser_end.51Testing软件测试网BdD/h"E Q;K
Vuser Terminated.51Testing软件测试网^.GQ_-P5F-XE`Q/T


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