Y9l9d&^*W}
A0using System;
QZS"HtV-V.CiC0using System.Runtime.InteropServices;
S?n+v
Y-V%G0g+Ln
a0using System.Data.OleDb;
TU)i/H P:C0using System.Data;
}!h2h `GY8wF0
51Testing软件测试网x%Zw:iw
K"_
]namespace LoadRunnerUser1
4lR:p#oRCy0{
o {/R6k7Uk0 ///
iA+]WMx0 /// Summary description for VuserClass.
tEm/RX0e?0 /// 51Testing软件测试网+f q;C7`)P6y3j\#d\
[ClassInterface(ClassInterfaceType.AutoDual)]
2AH5N'bn3qW8VM o0 public class VuserClass
'@"xq'CO2A0 {51Testing软件测试网8o9e%e+`9U~.Q
LoadRunner.LrApi lr;
u%|-V#^5ZE Df4Z0
51Testing软件测试网5q [9\!CrW@2r public VuserClass()
({:b3wx*J1W0 {51Testing软件测试网C9u'EJmWTL'?
// LoadRunner Standard API Interface :: DO NOT REMOVE!!!51Testing软件测试网*\_FO"a1`Tg"E
lr = new LoadRunner.LrApi();51Testing软件测试网6]3q7GC`#Ya
#s5^0qwe)c0 }
3W#Z&Y6L$@m+K5UH0
Qc]9WLT0 // ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
m&BV"I8F#BM0 public int Initialize()
!g(\6Z,{Ku)c2V Z0 {51Testing软件测试网|%c1K&Q
{&|*fa5y7P
// TO DO: Add virtual user's initialization routines
9|)]BK~7v0c0 lr.message("Initialize部分,我只执行一次哦!");
K`,fD
{|L0 return lr.PASS;
~c
QK4KIm7Gp0 }
6yn@N R+Pt+I0
51Testing软件测试网b\ t&Km#g.U // ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''51Testing软件测试网{1O W-[,G7d
public int Actions()51Testing软件测试网|
Y$i1AQ nK
C
{
_6lmXbk bn0 // TO DO: Add virtual user's business process actions51Testing软件测试网6k.H&Kf
Pw5P~^R
lr.message("Actions部分,我可以重复执行(在设置迭代情况下)!");51Testing软件测试网M\#_ffv1L X+@3\
try51Testing软件测试网x}p2t1VL$X%X/Y
{51Testing软件测试网:S3EG] _tDd
//设置连接字符串开始
lzX|R)_)G
T2l0 string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";51Testing软件测试网.dT4ZkQbK"M_"kc
strConnection+=@"Data Source=C:\\test.mdb";
y2^ y
G_
H kc\E0 //设置连接字符串结束51Testing软件测试网z-{.]m7D_Q
51Testing软件测试网GH7g_0LZL*P m!F-d //插入一个集合点开始51Testing软件测试网
~{Y}(R2@
lr.rendezvous("集合点");
9`R7N-dG)C0 //插入一个集合点结束51Testing软件测试网x-|XvA
5G%K&\]#[
@
j,U(nc0 //事务开始51Testing软件测试网:t'^'t:?5J
lr.start_transaction("SQL语句性能");51Testing软件测试网`F(qq
AO}l[
:[^\0t+ZFg[^!Vv0 //建立OleDbConnection和OleDbCommand,并指定要运行的Sql语句开始51Testing软件测试网~$K'opr!t
System.Data.OleDb.OleDbConnection conn=new
'm&D,XIx-lb+ob0 System.Data.OleDb.OleDbConnection(strConnection);
B
p`
HPQh0 System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();
:~
m.s"j{9Gl0 cmd.Connection = conn;
B)C.I"glj2TK:?M{*P0 cmd.CommandText = "select * from testdb";51Testing软件测试网3SzG
`K
//建立OleDbConnection和OleDbCommand,并指定要运行的Sql语句结束51Testing软件测试网5P;nZ5d2]{JR'v
51Testing软件测试网1B+aV7K~y
jE //插入一个日志开始
;~'|~#F2bNc0 lr.log_message("LOG: Sql语句开始执行了,Sql="+cmd.CommandText);
AtK?L)cy#epde0 //插入一个日志结束
Rp{)MB iUG0
b)yD+Y"J0 //将查询结果填充到DataTable开始
bl(FTS
U0 DataTable dt = new DataTable();51Testing软件测试网*^:{q0mQx/t
51Testing软件测试网a KDx,ya~
System.Data.OleDb.OleDbDataAdapter oleDA = new
lvc0Jg0 System.Data.OleDb.OleDbDataAdapter();51Testing软件测试网V`
q?viJ%?
oleDA.SelectCommand = cmd;
nIW w3R9eM0 oleDA.Fill(dt);51Testing软件测试网])M:]8z*k~k
//将查询结果填充到DataTable结束51Testing软件测试网5n:t[q9C\xO%ku
~
d h8S FA0 //插入一个日志开始
`/wV!b,\+~0 lr.log_message("LOG: Sql语句执行完成,Sql="+cmd.CommandText);51Testing软件测试网0Z*yo
]5S
n
//插入一个日志结束51Testing软件测试网Tzh"k7t){#c
51Testing软件测试网!I,UN5rX!N //取得结果集的记录数
*e([[W,L thU7m0 int iCountRec=Convert.ToInt32(dt.Rows.Count.ToString());
e:Sw;J8e0 conn.Close();//关闭连接51Testing软件测试网.fO!x,Iy/v*G ~6?
//如果记录数大于0,完整这个事务,否则标识事务失败51Testing软件测试网B1^x;j!o|/ij,P
if(iCountRec>0)
ZA}
I*CSL,H0 lr.end_transaction("SQL语句性能",lr.PASS);51Testing软件测试网"AM
{6M3@%E
else
+GFd` Z[OI%Ear0 lr.end_transaction("SQL语句性能",lr.FAIL);
:\/S)Q%afT5L `Y)gD~0
m&R_Z
DP&{X0 //再来一个参数化的示例开始
;[0^_p1i e9X&A0 lr.output_message("Welcome "+lr.eval_string("")+"!");51Testing软件测试网^)p/Zx F{:UU.a*U
)V2?r5u
l"E9G0 //再来一个参数化的示例结束51Testing软件测试网l8]R!x2~/{Hv?n
51Testing软件测试网*[C?/nGGQ+v4{1] //Thinktime 的应用,就是模拟手工操作的延时,在这里我们延时3秒钟
e'L'n+_W0 lr.think_time(3);
0xeI9q
f-f4['Y%h0 }51Testing软件测试网3d$RV9Y6?l
51Testing软件测试网Ac4i
kX3sj2| catch(Exception ex)
4C)uRPj2Y/@1~0 {51Testing软件测试网,q8tt ],WYR-Z|
conn.Close();//关闭连接
&`+O4\*NA?T*Q.{{[0 string error = ex.Message;
5aC4L.fF$VOU
V
e9@0 }
.c`"q,kEsX;d
R*p0
"R_!M#Jo*@R0 return lr.PASS;51Testing软件测试网kO&vZM:E
}
L-lE/@[0
l/i$pCc\ b0 // ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''51Testing软件测试网j4po-KT'z
public int Terminate()51Testing软件测试网]$v\!FN
D.M]
{51Testing软件测试网4F8sh"x!r"{#D"j y
// TO DO: Add virtual user's termination routines
;]S6\c
C8w:M
B0 lr.message("Terminate部分,我只执行一次哦!");51Testing软件测试网tLV(l6C(df
return lr.PASS;
7_
G,g+_MW0 }
#M1Y%}+wX0
w2p{-v/^k%i0 }51Testing软件测试网U$u]#R siob:O9G
}
ii6L8r;kOZW"\l0
N u{vvbN3E'D kP0
51Testing软件测试网Up ]*eI2CUrQQ8CJ%Ap2r051Testing软件测试网)EH
f*j%|YL#r51Testing软件测试网2OK5~,y^{-xw a'OLink URL:
http://www.cnblogs.com/tester2test/archive/2006/07/10/447353.html