51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4655|回复: 8
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-12-9 11:04:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
运用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;";
    strConnection+=@"Data Source=C:\\test.mdb";
    //设置连接字符串结束

    //插入一个集合点开始
    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)
   {
    conn.Close();//关闭连接
    string error = ex.Message;
   }

   return lr.PASS;
  }

  // ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  public int Terminate()
  {
   // TO DO: Add virtual user's termination routines
   lr.message("Terminate部分,我只执行一次哦!");
   return lr.PASS;
  }

}
}

评分

参与人数 1综合技术指数 +20 收起 理由
fishy + 20

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

9#
发表于 2009-4-26 23:25:06 | 只看该作者
原来测试还可以这样搞!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2009-4-15 09:49:00 | 只看该作者
lr9.5 已有.net 协议!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2008-5-29 15:26:24 | 只看该作者
原帖由 Zee 于 2007-12-11 13:13 发表
手写.net脚本,应该可以处理业务逻辑特强的应用。
跟sweetness交流时,他认为LR的.net协议录制得到的脚本,做业务测试很麻烦。
甚至有些就做不到。
(我没有实践过,只是听他所说。)
而这种手写的方式应该可以处 ...


应该可以处理的:)
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-12-11 13:13:02 | 只看该作者
手写.net脚本,应该可以处理业务逻辑特强的应用。
跟sweetness交流时,他认为LR的.net协议录制得到的脚本,做业务测试很麻烦。
甚至有些就做不到。
(我没有实践过,只是听他所说。)
而这种手写的方式应该可以处理得了。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-12-10 13:04:38 | 只看该作者
我不是用正版的,没有.NET ADD-IN ,只能看看脚本了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-12-10 13:00:16 | 只看该作者
,谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-12-10 10:34:53 | 只看该作者
不错,学习一下
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2007-12-10 10:17:00 | 只看该作者

好啊,用的不错。有机会向你请教啊

回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-14 23:45 , Processed in 0.102580 second(s), 34 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表