关闭

利用loadrunner测试ORACLE存储过程的性能

发表于:2007-4-17 16:18

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:北北    来源:51testing博客

首先需要安装 LR的.NET ADD-IN ,在开发环境编写代码,做数据库连接,然后调用执行存储过程。

装好以后,打开程序,应该看到菜单栏里多了一个:

然后添加一个LR项目:



 之后就可以编码了,我写了个代码,如下:

using System;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Data;
using System.Data.OracleClient;
using ShangXin.Data;
using System.Collections;
using System.Web;

namespace LoadRunnerUser
{
/// <summary>
/// Summary description for VuserClass.
/// </summary>
[ClassInterface(ClassInterfaceType.AutoDual)]
public class VuserClass
{
LoadRunner.LrApi lr;
protected System.Data.OracleClient.OracleDataAdapter oracleDA;
protected System.Data.OracleClient.OracleCommand loadCommand;
protected System.Data.OracleClient.OracleConnection oracleConnection;


public VuserClass()
{
// LoadRunner Standard API Interface :: DO NOT REMOVE!!!
lr = new LoadRunner.LrApi();
}

protected System.Data.OracleClient.OracleConnection GetOracleConnection()////sqlConnection
{
if (oracleConnection==null)
oracleConnection=new System.Data.OracleClient.OracleConnection();
oracleConnection.ConnectionString="User Id=test;Password=write;Data Source=escalade";
return oracleConnection;
}


// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
public int Initialize()
{
// TO DO: Add virtual user's initialization routines

return lr.PASS;
}

// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
public int Actions()
{
try
{

lr.start_transaction("TestGetWithDrawOrderByCode");
System.Data.OracleClient.OracleConnection conn = new OracleConnection("User Id=test;Password=write;Data Source=escalade");
System.Data.OracleClient.OracleCommand comm = new OracleCommand();
comm.Connection = conn;
comm.CommandText = "BILL.GetWithDrawOrderByCode";
comm.CommandType = CommandType.StoredProcedure;
//输入参数
System.Data.OracleClient.OracleParameter param1=comm.Parameters.Add("V_CODE",OracleType.VarChar,20);
param1.Direction = ParameterDirection.Input;
param1.Value ="TH15";
//输出参数
System.Data.OracleClient.OracleParameter param2=comm.Parameters.Add("RETCURSOR",OracleType.Cursor);
param2.Direction = ParameterDirection.Output;

DataTable dt = new DataTable();
oracleDA = new System.Data.OracleClient.OracleDataAdapter();
oracleDA.SelectCommand = comm;
oracleDA.Fill(dt);
int iCount=Convert.ToInt32(dt.Rows.Count.ToString());
if(iCount>0)
lr.end_transaction("TestGetWithDrawOrderByCode",lr.PASS);
else
lr.end_transaction("TestGetWithDrawOrderByCode",lr.FAIL);

}

catch(Exception ex)
{
string error = ex.Message;
}

return lr.PASS;
}

// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
public int Terminate()
{
// TO DO: Add virtual user's termination routines

return lr.PASS;
}

}
}

记得添加必要的引用,具体使用灵活掌握吧。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号