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

Loadrunner 如何访问数据库

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

Loadrunner中也提供了C对数据库操作的相关功能函数,以下这些数据库功能函数只能用于Web Services协议。51Testing软件测试网H@ V0Jbq8r)SX

lr_db_connect

6W+jT[ [YXL0

连接数据库

!GCf%I(h-V9G0

lr_db_disconnect

|8?:R:Js|'J0

断开数据库的连接

~JZ C5|0

lr_db_executeSQLStatement

8l1U;J*OU O_S2]0

执行SQL语句51Testing软件测试网9A|J#_ \P"i-L r t

lr_db_dataset_action51Testing软件测试网]W)U`4xyy

对数据库执行操作51Testing软件测试网Q#S#K5qxs4Jr

lr_db_getValue

J-x!Adu ^Yru0

从数据集中检索值51Testing软件测试网 E UuB&Ca

各函数语法如下:51Testing软件测试网p!B4]XBh6N_6N

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

n1K%@F'S0

lr_db_disconnect("StepName=<step_name>", "ConnectionName=<connection_name>", LAST);51Testing软件测试网&li ^,M9RhP

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

.|4C%nm uue3e`~ Z0

lr_db_dataset_action("StepName=<step_name>", "DatasetName=<dataset_name>", "Action=<action>", LAST);51Testing软件测试网N%G!]W$A [^G

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

XI/Y,qlGpRn0

下面以oracle数据库为例:

4j^4F _*k;][0
Action()
_SDA'LG4~0{51Testing软件测试网%yk-W Z,c-W
intNumRows=0;
V W%NT w1L~6|(? h0
inti=1;51Testing软件测试网J lx5v.K"f u9_
51Testing软件测试网2Y$k1|:G{3U dy&U
//建立数据库连接
'mm}t*vI0Z5Mm0
lr_db_connect("StepName=DatabaseConnection",51Testing软件测试网8H3Ix m['S6@
"ConnectionString=Provider=OraOLEDB.Oracle.1;Password = test ;Persist Security Info=True; User ID = test ; Data Source = betadb ; Server = 172.19.188.191",
g8[%jl9EsS0
"ConnectionName=InvDatabaseConnection",
j^,^N#B)W f0
"ConnectionType=OLEDB",51Testing软件测试网%tp8? MKf8g-|2n}6D
LAST);51Testing软件测试网@Y}$p/o@};Y`
51Testing软件测试网:M dW J&A2Y%Iu/B
//执行SQL语句
O4Rg$Lwb&J!`6lGQ0
NumRows=lr_db_executeSQLStatement("StepName=PerformQuery",51Testing软件测试网*h4tAPMI
"ConnectionName=InvDatabaseConnection",
F1S&GO O~9q,aj2?H0
"SQLStatement=SELECT cons_no,cons_id FROM c_cons where rownum<10",51Testing软件测试网cZ ]k3[1k
"DatasetName=MyDataset",51Testing软件测试网9S2yC%N"i\*x^&Do
LAST);51Testing软件测试网.ZE-RTc$R(b0H
lr_output_message(
"The query returned %d rows.", NumRows);
1z]%B^+yH0R051Testing软件测试网Q w%L7S;{6C8F f(A8|
//打印出结果
l*m `,~_4l P0
lr_db_dataset_action("StepName=PrintDataset",51Testing软件测试网K#|d0z+y,j g%b
"DatasetName=MyDataset",51Testing软件测试网B8O%p/pozf P
"Action=PRINT",51Testing软件测试网"C\`{2~'TL
LAST);
!w"LfPeAW051Testing软件测试网4xP W4o5JY"Vjb7T
51Testing软件测试网#K:uzeoCla
//利用循环检索数据值
?)g%vB'N+m0
while(i<10) {51Testing软件测试网W+v$QxO d9x8Up A.Q o
lr_db_getvalue(
"StepName=GetValue",51Testing软件测试网3L|$~L l/dt r-w
"DatasetName=MyDataset",
`'i Sc+y+M0
"Column=CONS_NO",51Testing软件测试网m X,S%V/f5V
"Row=next",51Testing软件测试网$K5D |j/{ `7R j
"OutParam=MyOutputParam",51Testing软件测试网XM!N&w-C
LAST);
{^bI5q,A0lr_output_message(
"The value is: %s", lr_eval_string("{MyOutputParam}") );51Testing软件测试网Q*| a8_D5E%r4|
i
=i+1; }51Testing软件测试网^TSm-h

+KBI}J/R0
4j6R(hoL5W0
//释放结果51Testing软件测试网:iY*C/p]4H`!F6C
lr_db_dataset_action("StepName=RemoveDataset",
I L:Ot} X;E0
"DatasetName=MyDataset",
m {.SEYA"R0
"Action=REMOVE",
}UF$UX7`-_&d0LAST);51Testing软件测试网h \x m6Q9GQA

NVL CU b051Testing软件测试网.Q)X:f@V/|3d
//断开数据库连接51Testing软件测试网)~,Vn x EE
lr_db_disconnect("StepName=Disconnect",51Testing软件测试网 hVd9UXY8s7[,H
"ConnectionName=InvDatabaseConnection",
Xw*\BsRi6N0LAST);
]8}yM,o0
iZ Y_+f4t$K0
return0;
]?0P|+b0A o!i0}

运行后,输出信息如下:51Testing软件测试网'_/J1H6HMNq

Virtual User Script. started51Testing软件测试网\oal? nS
Starting action vuser_init.51Testing软件测试网f)l?V D#{MN
Ending action vuser_init.51Testing软件测试网/]~7Z J{6ZG3y-}
Running Vuser...
A z2|^1s LU!P&T0Starting iteration 1.
:_#^5W"SuCP?8dY0Starting action Action.51Testing软件测试网2Ub-Cl2Mfd
Action.c(6): DB Connection "DatabaseConnection" started ... Wait ....51Testing软件测试网2q9_5CU#i3U
Action.c(6): DB connection was successful
3^ m_;Ar0Action.c(13): SQL Statement  execution "PerformQuery" started
_3D i"tY`:Z JNszOQ4D0Action.c(13): SQL Statement  execution was successful51Testing软件测试网y CsHi6r
Action.c(13): ================================================51Testing软件测试网%s1T-y2[fJ tv P
Action.c(18): The query returned 9 rows.51Testing软件测试网A'Q5w+Zi-z7?'j9I
Action.c(20): Dataset action "PrintDataset" started51Testing软件测试网+T{)I"p;\3|-Uf
Action.c(20): 
'RE}#R7CuGG0Action.c(20): ******** Start printing ***********
S]E|RY5f0Action.c(20): Number of records in dataset  = 951Testing软件测试网$dt``r
Action.c(20): Num.   CONS_NO                  CONS_ID                  51Testing软件测试网Xa%w;~e ]gZ p
Action.c(20): =========================================================51Testing软件测试网9}(_%LS.W&x0{V2Wj
Action.c(20): 1      3096451321               310306247                
7{"K n3i'Su5^1k0Action.c(20): 2      3097730300               3376536                  51Testing软件测试网/X$T.Ef3Lmq z
Action.c(20): 3      0000265443               3376537                  51Testing软件测试网#M tg1W }
Action.c(20): 4      0000265456               3376538                  
{?1Qk:aJC0Action.c(20): 5      0000265469               3376539                  51Testing软件测试网?:R|w?5u
Action.c(20): 6      0000265472               3376540                  
:j%G7U#KQu5|0Action.c(20): 7      3098976354               314348099                51Testing软件测试网`Kc"hjh#p
Action.c(20): 8      0000265498               3376542                  
m3MDsXE0Action.c(20): 9      0000265502               3376543                  51Testing软件测试网@ JV,Q1k8Yj ^0e
Action.c(20): ********End printing ***********51Testing软件测试网8m_Q#}|Z'w
Action.c(20): 
!EDqiI0Action.c(20): Dataset action was successful51Testing软件测试网l9EgM6o l#a
Action.c(27): Get db value "GetValue" started
];W _]t&d Y }`9a;w'l?0Action.c(27): Get db value was successful
5tW|4yba!j0Action.c(27): ================================================
[L"z&UK7W6sE0Action.c(33): The value is: 3096451321
w-f&jO sbK$KQ/OQ0Action.c(27): Get db value "GetValue" started51Testing软件测试网&x},P[ o yS$X/Z
Action.c(27): Get db value was successful51Testing软件测试网6W\K5]/}9a0o+Jb
Action.c(27): ================================================
\h0H*^*b @0Action.c(33): The value is: 3097730300
j"Heg D;}5ln0Action.c(27): Get db value "GetValue" started
z"`?/x[,|Gh0Action.c(27): Get db value was successful
9EUT[SfJ2M&nCN0Action.c(27): ================================================
lK2G0N?/VIC0Action.c(33): The value is: 000026544351Testing软件测试网0U4axHX/]"gB8[
Action.c(27): Get db value "GetValue" started
:CZ;L5j_jM V,Rj0Action.c(27): Get db value was successful
ZFX}6@T\Aq^0Action.c(27): ================================================
{SfWT K4qh0Action.c(33): The value is: 0000265456
j;Q@#z*Z0Action.c(27): Get db value "GetValue" started
(?q{*|(ZGFi&{5Kg0Action.c(27): Get db value was successful
;nS(ua#d0Action.c(27): ================================================
U%Fv~?%L?QX0Action.c(33): The value is: 000026546951Testing软件测试网U){O_ v5|
Action.c(27): Get db value "GetValue" started
q!\|,B(U-Z?0Action.c(27): Get db value was successful
eT1Z y6L#n`0Action.c(27): ================================================51Testing软件测试网d$F |k!d l9w
Action.c(33): The value is: 000026547251Testing软件测试网%l&e{ SG"u
Action.c(27): Get db value "GetValue" started
6?FH7C$f&I0Action.c(27): Get db value was successful
*H:N$`W ?Z0ac`&}9{0Action.c(27): ================================================
6V t R P,Z4T0Action.c(33): The value is: 3098976354
a$@6{s8N'eXS,{0Action.c(27): Get db value "GetValue" started51Testing软件测试网!V[*j?8D;p
Action.c(27): Get db value was successful51Testing软件测试网wSN$p zB
Action.c(27): ================================================
o0|+I/Jz8n k0Action.c(33): The value is: 0000265498
q4l4B2]9a m#FG0Action.c(27): Get db value "GetValue" started
~&h#M%m&gy,t0Action.c(27): Get db value was successful51Testing软件测试网wd4x8O/IY4?
Action.c(27): ================================================
p'C/r(ot9f`U0Action.c(33): The value is: 0000265502
q/o G+y2OL@+e#U [0Action.c(36): Dataset action "RemoveDataset" started51Testing软件测试网q.u-xp9Fx @ I$u
Action.c(36): Dataset action was successful
r9V3{UiP/i0Action.c(41): DB disconnect "Disconnect" started51Testing软件测试网 ])gi*iVZ GF
Action.c(41): DB disconnect was successful
8u3P.XK+n~*c L1?;^8~0Action.c(41): ================================================51Testing软件测试网t tG| c1Yc3lAU:I%Z
Ending action Action.51Testing软件测试网i!I:j P2G7?6d
Ending iteration 1.51Testing软件测试网n&W H-pe|
Ending Vuser...51Testing软件测试网-yo7}2mxT
Starting action vuser_end.
c\-G}4[jYuSU(C0Ending action vuser_end.
UED7p:}7v0[(P aba5g0Vuser Terminated.

Prm-v2f'q/Y/e*{0

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