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

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

上一篇 / 下一篇  2007-07-12 12:19:40 / 个人分类:其他

51Testing软件测试网S` qr"_*e Mf8H

using System;
6Q_`6lxF!a9n)QQ0using System.Runtime.InteropServices; 51Testing软件测试网/~&cdj2m_k
using System.Data.OleDb;51Testing软件测试网!Sw,D2v.Rn&hh
using System.Data;

+B.?6cs6I3h0 51Testing软件测试网xCYRx c USp]D_)r

namespace LoadRunnerUser151Testing软件测试网+r0o4Wa"U)yMKv
{
SFX+C/e-W0 ///

51Testing软件测试网Z$|+P W ]#K3d&z4HW"aZ
 /// Summary description for VuserClass.51Testing软件测试网3q+v+xs gc5\
 ///
51Testing软件测试网#B4U D~)IRQDy'n3N
 [ClassInterface(ClassInterfaceType.AutoDual)]
@%j$eS~t0 public class VuserClass51Testing软件测试网5d5b{+V[ W
 {51Testing软件测试网;z x kKc{}k*{Yz
  LoadRunner.LrApi lr;51Testing软件测试网b#T%EvR+zhq R+B

51Testing软件测试网W q L}4HD `/bxh g{

  public VuserClass()51Testing软件测试网!t(Th^#H z
  {51Testing软件测试网jH"H7R gb{,aB
   // LoadRunner Standard API Interface ::     DO NOT REMOVE!!!
#R3|LSP^!`0   lr = new LoadRunner.LrApi();
Dr j Uk"Eo0   
Q xE9qY)s9{ HN0  }

dS0]peN,slq0

D F WH Fv;{*[1M9q0  // ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''51Testing软件测试网dH:L D3y{I
  public int Initialize()
Nc\F[3t0  {
k%z${m_EHU ` G0   // TO DO: Add virtual user's initialization routines51Testing软件测试网8n0ii#D ]
   lr.message("Initialize部分,我只执行一次哦!");
m*ejf7U9t0   return lr.PASS;
&Rv&Bw(B%V7K6wK0  }

-M$d-y [P"V0 51Testing软件测试网P6q)a1Q;O_ h

  // ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''51Testing软件测试网!kh0pC6V!t"N Nph
  public int Actions()51Testing软件测试网 ~/J8n8] k
  {
MI&f8W pNn3r0   // TO DO: Add virtual user's business process actions
| tV-T(F7V2[h0   lr.message("Actions部分,我可以重复执行(在设置迭代情况下)!");51Testing软件测试网O$Ols+Z:|eJ
   try51Testing软件测试网PR F,V:VJrM
   {51Testing软件测试网cQ }%l2_ J
    //设置连接字符串开始51Testing软件测试网:d-N^y5R7~
    string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";51Testing软件测试网Pky9a\ G7k9O}]
    strConnection+=@"Data Source=C:\\test.mdb";51Testing软件测试网F#S{2s8p7L#]ev
    //设置连接字符串结束51Testing软件测试网Z!j1`TYo"HU

51Testing软件测试网8a6`f(W^]/Y\4~

    //插入一个集合点开始51Testing软件测试网G M/_:fu%`*[mw N,C
    lr.rendezvous("集合点");
:yGa_FV7x0    //插入一个集合点结束51Testing软件测试网n N:N?].R(m&I!bAZ

51Testing软件测试网6BTQS-jE

    //事务开始
7Q]Qa t/f-uy0    lr.start_transaction("SQL语句性能");51Testing软件测试网4q$tj.Fx)u

$T/f+[M)]_V0    //建立OleDbConnection和OleDbCommand,并指定要运行的Sql语句开始
c H8L/MW0    System.Data.OleDb.OleDbConnection  conn=new 51Testing软件测试网)fr)I-` M
        System.Data.OleDb.OleDbConnection(strConnection);51Testing软件测试网u o+wtsW
    System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();51Testing软件测试网z9Tk9G1j"b4U(U%[a
    cmd.Connection = conn;   
d7u%XRgk S^0    cmd.CommandText = "select * from testdb";51Testing软件测试网(^1O#I.k:M G1j
    //建立OleDbConnection和OleDbCommand,并指定要运行的Sql语句结束51Testing软件测试网Y,agJ wV3y8n)r

"k]8C8R5zM%T}0    //插入一个日志开始51Testing软件测试网$Z:\;S En,`/b*b
    lr.log_message("LOG: Sql语句开始执行了,Sql="+cmd.CommandText);
qI~w1]1^(l H'i0    //插入一个日志结束

JCvD ~0

C-` zuY}4w0    //将查询结果填充到DataTable开始51Testing软件测试网^6r lY)xGP[3y
    DataTable dt = new DataTable();
#c6a fXt x0    
g4x6r[la0    System.Data.OleDb.OleDbDataAdapter oleDA = new
td$t(q+V^$_0        System.Data.OleDb.OleDbDataAdapter();51Testing软件测试网!Cet$g9z3J\7s
    oleDA.SelectCommand = cmd;51Testing软件测试网T(o1G;P+qS'?$P
    oleDA.Fill(dt);
4e"^7M r3@c`X)a0    //将查询结果填充到DataTable结束

MXt\ Tpu0

7D)b_ Mo7`0    //插入一个日志开始
u.zZ;r&A(_o,n0    lr.log_message("LOG: Sql语句执行完成,Sql="+cmd.CommandText);
y6Ic c ^&mzfx0    //插入一个日志结束

4O^ DN_0e0 51Testing软件测试网({6^vR4E

    //取得结果集的记录数
S{}UG;Q0    int iCountRec=Convert.ToInt32(dt.Rows.Count.ToString());
XG-WM&guOR0    conn.Close();//关闭连接51Testing软件测试网9yl7i\zY0hJ
    //如果记录数大于0,完整这个事务,否则标识事务失败
I4h s2] g&F_0    if(iCountRec>0)
Fq;CKH1j;g]a0     lr.end_transaction("SQL语句性能",lr.PASS);
-Z3TX6oWhU4W0    else
7XCnFZ'K:aj0     lr.end_transaction("SQL语句性能",lr.FAIL);51Testing软件测试网~aX1x2N&S)j-D

51Testing软件测试网4ghTn)~e&|

    //再来一个参数化的示例开始51Testing软件测试网~8J |g/?w/A K
     lr.output_message("Welcome "+lr.eval_string("")+"!");

'w I$D,Cs l0

'TJCM f"y0    //再来一个参数化的示例结束

Q)H ca+mX d~0 51Testing软件测试网_\jR-B'He c#]

    //Thinktime 的应用,就是模拟手工操作的延时,在这里我们延时3秒钟51Testing软件测试网0U6VL"i!TU
      lr.think_time(3);
i@;Z Z9I*] o2`sMn0   }51Testing软件测试网j:It~(H%mO0mU

!En!i*p}LX0   catch(Exception ex)
&EO(JGj3Q2J0   {
mJU-^,u{'L+io0    conn.Close();//关闭连接
4I%p3X~w0    string error = ex.Message;
-hT3B9} D(m1ZZ7M1Qs0   }

Jw@l(Zb0

[\3S%@-H!g0   return lr.PASS;51Testing软件测试网2] K$v!C ~kU
  }51Testing软件测试网:o'mn*{ DSB

mXZ-v3b2lX0  // ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''51Testing软件测试网 IMg,py,Pe-Z(B
  public int Terminate()51Testing软件测试网/HW$j$fU)w%QI l
  {51Testing软件测试网9p.k l8V(R.eo5K2? w
   // TO DO: Add virtual user's termination routines
V.x*O9Pg5[J0   lr.message("Terminate部分,我只执行一次哦!");51Testing软件测试网 `:jDu9a eBV
   return lr.PASS;51Testing软件测试网1l3tG^/~(c
  }51Testing软件测试网 Niewp![+sqz

51Testing软件测试网3w4W7n9NG1Dv;f'?

 }51Testing软件测试网9G0X#C Q+nJ.C
}
/a W0k!U!H7`ln(S051Testing软件测试网M;WqXh {? m3m:{


;i4M*}|4T ?1z051Testing软件测试网T*d%Mm6?Yy TuL L(A
测试者家园 2006-07-10 17:03 发表评论
51Testing软件测试网8NASpU g@
51Testing软件测试网 L/eue(\\0T)@
Link URL: http://www.cnblogs.com/tester2test/archive/2006/07/10/447353.html

TAG:

 

评分:0

我来说两句

Open Toolbar