天天看點

運用LOADRUNNER .NET ADD-IN 寫的性能測試腳本

using System;

using System.Runtime.InteropServices; 

using System.Data.OleDb;

using System.Data;

namespace LoadRunnerUser1

{

 /// <summary>

 /// Summary description for VuserClass.

 /// </summary>

 [ClassInterface(ClassInterfaceType.AutoDual)]

 public class VuserClass

 {

  LoadRunner.LrApi lr;

  public VuserClass()

  {

   // LoadRunner Standard API Interface ::     DO NOT REMOVE!!!

   lr = new LoadRunner.LrApi();

  }

  // ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

  public int Initialize()

   // TO DO: Add virtual user's initialization routines

   lr.message("Initialize部分,我隻執行一次哦!");

   return lr.PASS;

  public int Actions()

   // TO DO: Add virtual user's business process actions

   lr.message("Actions部分,我可以重複執行(在設定疊代情況下)!");

   try

   {

    //設定連接配接字元串開始

    string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";

    //設定連接配接字元串結束

    //插入一個集合點開始

    lr.rendezvous("集合點");

    //插入一個集合點結束

    //事務開始

    lr.start_transaction("SQL語句性能");

    //建立OleDbConnection和OleDbCommand,并指定要運作的Sql語句開始

    System.Data.OleDb.OleDbConnection  conn=new 

        System.Data.OleDb.OleDbConnection(strConnection);

    System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();

    cmd.Connection = conn;   

    cmd.CommandText = "select * from testdb";

    //建立OleDbConnection和OleDbCommand,并指定要運作的Sql語句結束

    //插入一個日志開始

    lr.log_message("LOG: Sql語句開始執行了,Sql="+cmd.CommandText);

    //插入一個日志結束

    //将查詢結果填充到DataTable開始

    DataTable dt = new DataTable();

    System.Data.OleDb.OleDbDataAdapter oleDA = new 

        System.Data.OleDb.OleDbDataAdapter();

    oleDA.SelectCommand = cmd;

    oleDA.Fill(dt);

    //将查詢結果填充到DataTable結束

    lr.log_message("LOG: Sql語句執行完成,Sql="+cmd.CommandText);

    //取得結果集的記錄數

    int iCountRec=Convert.ToInt32(dt.Rows.Count.ToString());

    conn.Close();//關閉連接配接

    //如果記錄數大于0,完整這個事務,否則辨別事務失敗

    if(iCountRec>0)

     lr.end_transaction("SQL語句性能",lr.PASS);

    else

     lr.end_transaction("SQL語句性能",lr.FAIL);

    //再來一個參數化的示例開始

     lr.output_message("Welcome "+lr.eval_string("<username>")+"!");

    //再來一個參數化的示例結束

    //Thinktime 的應用,就是模拟手工操作的延時,在這裡我們延時3秒鐘

      lr.think_time(3);

   }

   catch(Exception ex)

    string error = ex.Message;

  public int Terminate()

   // TO DO: Add virtual user's termination routines

   lr.message("Terminate部分,我隻執行一次哦!");

 }

}

本文轉自 fish_yy 51CTO部落格,原文連結:http://blog.51cto.com/tester2test/137346,如需轉載請自行聯系原作者