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,如需轉載請自行聯系原作者