我的地盘我做主! 博客:http://tester2test.cnblogs.com/   msn:win_soft@163.com

运用LOADRUNNER .NET ADD-IN 写的性能测试脚本

上一篇 / 下一篇  2007-04-24 12:12:26 / 个人分类:其他

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+]WM x0 /// Summary description for VuserClass.
tEm/RX0e?0 ///
51Testing软件测试网+fq;C7`)P6y3j\#d\
 [ClassInterface(ClassInterfaceType.AutoDual)]
2AH5N'bn3qW8VMo0 public class VuserClass
'@"x q'CO2A0 {51Testing软件测试网8o9e%e+`9U~.Q
  LoadRunner.LrApi lr;

u%|-V#^5ZEDf4Z0 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]3q7G C `#Ya
   
#s5^0qw e)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 @NR+Pt+I0 51Testing软件测试网b\ t&Km#g.U

  // ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''51Testing软件测试网{1O W-[,G7d
  public int Actions()51Testing软件测试网| Y$i1A Q nK C
  {
_6lmXbk bn0   // TO DO: Add virtual user's business process actions51Testing软件测试网6k.H&Kf Pw5P~^R
   lr.message("Actions部分,我可以重复执行(在设置迭代情况下)!");51Testing软件测试网M\#_ffv1LX+@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-d G)C0    //插入一个集合点结束51Testing软件测试网x-|XvA

5G%K&\]#[ @ j,U(n c0    //事务开始51Testing软件测试网:t'^'t:?5J
    lr.start_transaction("SQL语句性能");51Testing软件测试网`F(qq A O}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"glj2T K:?M{*P0    cmd.CommandText = "select * from testdb";51Testing软件测试网3SzG `K
    //建立OleDbConnection和OleDbCommand,并指定要运行的Sql语句结束51Testing软件测试网5P;nZ5d2]{JR'v

51Testing软件测试网1B+a V7K~y jE

    //插入一个日志开始
;~'|~#F2bNc0    lr.log_message("LOG: Sql语句开始执行了,Sql="+cmd.CommandText);
AtK?L)cy#epde0    //插入一个日志结束

R p {)MB iUG0

b)yD+Y"J0    //将查询结果填充到DataTable开始
bl(FT S U0    DataTable dt = new DataTable();51Testing软件测试网*^:{q0mQx/t
    51Testing软件测试网a KDx,y a~
    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,I y/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/Z xF{:U U.a*U

)V2?r5u l"E9G0    //再来一个参数化的示例结束51Testing软件测试网l8]R!x2~/{Hv?n

51Testing软件测试网*[C?/nGG Q+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.f F$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软件测试网j4p o-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+_M W0  }

#M1Y%}+wX0

w2p{-v/^k%i0 }51Testing软件测试网 U$u]#R siob:O9G
}
ii6L8r;kOZW"\l0

N u{vvbN3E'D kP0 51Testing软件测试网Up ]*eI2CUr

QQ8CJ%Ap2r0
测试者家园 2006-07-10 17:03 发表评论
51Testing软件测试网)EH f*j%|YL#r
51Testing软件测试网2OK5~,y^{-x w a'O
Link URL: http://www.cnblogs.com/tester2test/archive/2006/07/10/447353.html

TAG:

 

评分:0

我来说两句

Open Toolbar