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

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

上一篇 / 下一篇  2007-07-12 12:18:22 / 个人分类:性能测试

51Testing软件测试网R/c;R:y*}9VN?9X

using 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'mZ o:R0

t&y[8l.v6d0namespace LoadRunnerUser1
e9@d]'P DT0{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软件测试网6x FKX)G-G
   // LoadRunner Standard API Interface ::     DO NOT REMOVE!!!
v^ z0Z pn: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$l mD?"N
  {51Testing软件测试网8G [ n[6zY&O
   // TO DO: Add virtual user's initialization routines
+A@7wog#I^6Ug K%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-m5ZI7edQ c G0    //设置连接字符串结束

rB5U;hB(Y0 51Testing软件测试网kf z(o}xU cS

    //插入一个集合点开始
~4x5uk5v+]4Ac#Q0    lr.rendezvous("集合点");
SXm \6};NyB%{0    //插入一个集合点结束

4Cm yY\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 Xw z7L+F0 51Testing软件测试网;}w,T+hW R

    //将查询结果填充到DataTable开始
oSS*q H1`0    DataTable dt = new DataTable();51Testing软件测试网1c N3ZMfr4pg-Q
    51Testing软件测试网 pG7[/G)h2J;_9wH
    System.Data.OleDb.OleDbDataAdapter oleDA = new
\/Qs,h"os0        System.Data.OleDb.OleDbDataAdapter();
Q wqFA8VJ;S0    oleDA.SelectCommand = cmd;51Testing软件测试网2D#|i&_*V!V
    oleDA.Fill(dt);
]FRv} B0    //将查询结果填充到DataTable结束51Testing软件测试网#P oX,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!~ T Z+c lPi
    //如果记录数大于0,完整这个事务,否则标识事务失败51Testing软件测试网crO5XX-R V
    if(iCountRec>0)
W8MY n&R R\0     lr.end_transaction("SQL语句性能",lr.PASS);51Testing软件测试网 oiKgnc @
    else
2CJ i r.haq-G0     lr.end_transaction("SQL语句性能",lr.FAIL);

:pv'I T)j0 51Testing软件测试网6nA6g^bU:M I L

    //再来一个参数化的示例开始
y+\;K@o!x9n0     lr.output_message("Welcome "+lr.eval_string("")+"!");

%{v ^ z9F}W x0

7~J7nl NTav*g0    //再来一个参数化的示例结束

9jP(p9AA1FW r"\z0

8H+V }i(T9n`[0    //Thinktime 的应用,就是模拟手工操作的延时,在这里我们延时3秒钟51Testing软件测试网Q|:Ve j
      lr.think_time(3);51Testing软件测试网 [ iar??Eh
   }

EP#aU l)J U8yYe0

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/y LS0  // ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''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:e y5C0   return lr.PASS;
3l8_!O/u"j_S1s0  }

[7JuE*E9A0

4^$ZOy3q7C|+b,h0 }51Testing软件测试网"?y5] zd#qy_.C
}51Testing软件测试网y4`)Neb9fZS

5M/~w5Mk7f+{JD'px0
6Vv6W7D/|-KPQu*L0
#|?9|$B3A p{W0
测试者家园 2006-07-10 17:03 发表评论
51Testing软件测试网%x qrs/O;x)IZ1b

.Z!O%Ev|;m$YJ0Link URL: http://www.cnblogs.com/tester2test/archive/2006/07/10/447353.html

TAG:

 

评分:0

我来说两句

Open Toolbar