51Testing软件测试网R/c;R:y*}9VN?9Xusing System;51Testing软件测试网?6jE,G(YY0J
using System.Runtime.InteropServices; 51Testing软件测试网Q'\K1c%z
x
using System.Data.OleDb;51Testing软件测试网4XnX!M8d)g
using System.Data;
t g'mZo:R0
t&y[8l.v6d0namespace LoadRunnerUser1
e9@d]'PDT0{51Testing软件测试网J:LP2z O0U}P
/// 51Testing软件测试网)KF#o+x,z)H7Urd b
/// Summary description for VuserClass.51Testing软件测试网%_a5g.bA`8cS
/// 51Testing软件测试网u0K{at@F }
[ClassInterface(ClassInterfaceType.AutoDual)]51Testing软件测试网G;xPi:KL
j%@3f
public class VuserClass51Testing软件测试网CS4v K;J-A
{
`u'D8L']0 LoadRunner.LrApi lr;51Testing软件测试网NLX/pae|'T
51Testing软件测试网:G%W @1?-h#e public VuserClass()51Testing软件测试网^%{y8j!d6U
{51Testing软件测试网6xFKX)G-G
// LoadRunner Standard API Interface :: DO NOT REMOVE!!!
v^z0Zpn:Nr0 lr = new LoadRunner.LrApi();
#dGl\+]T%xNZ0 51Testing软件测试网e0c
d"b Q1}
}
E.{q2s6_.r%Ec0
$S3fw;t [B9T ?Zk0 // ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''51Testing软件测试网Y:S+y@z2lz-{0F
public int Initialize()51Testing软件测试网0q$lmD?"N
{51Testing软件测试网8G [n[6zY&O
// TO DO: Add virtual user's initialization routines
+A@7wog#I^6UgK%t0 lr.message("Initialize部分,我只执行一次哦!");51Testing软件测试网,JEM2e^+~WU
return lr.PASS;
Yr,?8CNZ8G H0 }51Testing软件测试网I#Uef5PXk
%ZQW7Y'h8pWIU8c0 // ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
2O6gD&Sq^ Nz!}5WT0 public int Actions()
Rb+Ww!a"Y0 {
'~`Z|hr@%VS,j0 // TO DO: Add virtual user's business process actions
%B7H `2h2d8x&J7W0 lr.message("Actions部分,我可以重复执行(在设置迭代情况下)!");
pHaN*[2Wg(g0 try51Testing软件测试网L$o8b:Rv#?$E
{51Testing软件测试网L \[;RJ1e_
//设置连接字符串开始51Testing软件测试网W}1d'O*{Gx
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
Zk:@ `]5e}0 strConnection+=@"Data Source=C:\\test.mdb";
,y.rW-m5ZI7edQc
G0 //设置连接字符串结束
rB5U;hB(Y0
51Testing软件测试网k fz(o}xU cS //插入一个集合点开始
~4x5uk5v+]4Ac#Q0 lr.rendezvous("集合点");
SXm\6};NyB%{0 //插入一个集合点结束
4CmyY\0eSC'{
r-{0
51Testing软件测试网nurTeM //事务开始
7_9X1?s1S2F
{_0 lr.start_transaction("SQL语句性能");
q$gEwh.y0
K8h9@Q vZ0|*e!D_U0 //建立OleDbConnection和OleDbCommand,并指定要运行的Sql语句开始51Testing软件测试网4e
b$_!n4w'l*Y0l
System.Data.OleDb.OleDbConnection conn=new 51Testing软件测试网,QC*`2Yb8cPq
System.Data.OleDb.OleDbConnection(strConnection);
3L~ Gb7W1H8Am0 System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();
/U1w;eaY0tzWx8E0 cmd.Connection = conn; 51Testing软件测试网%x-\TJ9^P
cmd.CommandText = "select * from testdb";51Testing软件测试网:{*|3f~'b8CS
//建立OleDbConnection和OleDbCommand,并指定要运行的Sql语句结束51Testing软件测试网7A~|uP
bsh3iDk0 //插入一个日志开始51Testing软件测试网-IYJZGC
lr.log_message("LOG: Sql语句开始执行了,Sql="+cmd.CommandText);
xr,A%NmX0 //插入一个日志结束
m2j[&X
Xwz7L+F0
51Testing软件测试网;}w,T+hWR //将查询结果填充到DataTable开始
oSS*q
H1`0 DataTable dt = new DataTable();51Testing软件测试网1cN3Z Mfr4pg-Q
51Testing软件测试网 pG7[/G)h2J;_9wH
System.Data.OleDb.OleDbDataAdapter oleDA = new
\/Qs,h"os0 System.Data.OleDb.OleDbDataAdapter();
Qw qFA8VJ;S0 oleDA.SelectCommand = cmd;51Testing软件测试网2D#|i&_*V!V
oleDA.Fill(dt);
]FRv}B0 //将查询结果填充到DataTable结束51Testing软件测试网#PoX,w)X)\9t4O.jO H
51Testing软件测试网-M.J)cj-N6EL //插入一个日志开始
~you
|0 lr.log_message("LOG: Sql语句执行完成,Sql="+cmd.CommandText);
LC*K$z7MHY0 //插入一个日志结束
;`'w4P Bj.Q5Z0f6Y0
3pM7R\o!WF0 //取得结果集的记录数51Testing软件测试网{F[%R8G
int iCountRec=Convert.ToInt32(dt.Rows.Count.ToString());
%|u7Q'R%v0 conn.Close();//关闭连接51Testing软件测试网g/XM!~ TZ+c lPi
//如果记录数大于0,完整这个事务,否则标识事务失败51Testing软件测试网cr O5XX-R
V
if(iCountRec>0)
W8MYn&R R\0 lr.end_transaction("SQL语句性能",lr.PASS);51Testing软件测试网 oiKgnc@
else
2CJi r.haq-G0 lr.end_transaction("SQL语句性能",lr.FAIL);
:pv'I T)j0
51Testing软件测试网6nA6g^bU:M
IL //再来一个参数化的示例开始
y+\;K@o!x9n0 lr.output_message("Welcome "+lr.eval_string("")+"!");
%{v
^z9F}W x0
7~J7nl NTav*g0 //再来一个参数化的示例结束
9jP(p9AA1F W r"\z0
8H+V }i(T9n `[0 //Thinktime 的应用,就是模拟手工操作的延时,在这里我们延时3秒钟51Testing软件测试网Q|:Vej
lr.think_time(3);51Testing软件测试网[ iar??Eh
}
EP#aU l)JU8yYe0
l4KL.T+{m0 catch(Exception ex)51Testing软件测试网3h U-g+|(c1N](o:U
SrR
{
+gD'G7md4D/u"X0 conn.Close();//关闭连接51Testing软件测试网dHu#A"| {"Twj
string error = ex.Message;
`|\z7q7Z)y0 }
/|Z#k3r w+p*]0
51Testing软件测试网a4Aag,@+?/T7L return lr.PASS;
'Sa|5x~y0 }51Testing软件测试网
s2j'[$b0}*b1y[T
{~/g%x/yLS0 // ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''51Testing软件测试网&@9` |P |T
public int Terminate()
CENe\1s'G.R0 {51Testing软件测试网HE F^B}
// TO DO: Add virtual user's termination routines
iET7a$D4w6e0 lr.message("Terminate部分,我只执行一次哦!");
6hu gj:ey5C0 return lr.PASS;
3l8_!O/u"j_S1s0 }
[7JuE*E9A0
4^$ZOy3q7C|+b,h0 }51Testing软件测试网"?y5]
zd#qy_.C
}51Testing软件测试网y4`)Neb9fZ S
5M/~w5Mk7f+{JD'px0
6Vv6W7D/|-KPQ u*L0#|?9|$B3A
p{W051Testing软件测试网%xqrs/O;x)IZ1b.Z!O%Ev|;m$YJ0Link URL:
http://www.cnblogs.com/tester2test/archive/2006/07/10/447353.html