Loadrunner11使用Java协议操作oracle数据库

​​工具准备

​JDK

​既然是Java协议,jdk必不可少,但是lr11支持的jdk最大版本只到jdk1.6,并且得是32位。​

jdbc连接jar包

连接oracle数据库,需要准备数据库驱动jar包,根据oracle的版本选择对应版本jar包

 

脚本创建

启动Vugen

打开loadrunner11,virtualUser。

协议选择

File->new->选择协议:"Java Vuser"->create

编写脚本

 

 

代码段

import java.io.*;
import java.sql.*;
import lrapi.lr;

public class Actions
{
    //以下是数据库配置,由xx代替,各位可以根据自己服务情况对号入座
    String dbUrl = "jdbc:oracle:thin:@xx.xx.xx.xx";

    String user = "xxxx";

    String password = "xxxx";

    Connection conn= null;

    Statement stat = null;

    /*接收select操作返回的结果集合,如果是增删改操作则不需要*/
    ResultSet rs = null;

	public int init() throws Throwable {

        Class.forName("oracle.jdbc.OracleDriver").newInstance();

        conn = DriverManager.getConnection(dbUrl, user, password);

	stat = conn.createStatement();
		return 0;

	}//end of init

	public int action() throws Throwable {

   try{

       /*插入操作的SQL语句*/
       String str="INSERT INTO APP_USER_INFO (ID,USER_ID,USER_NAME,USER_PHONE,USER_IDCARD,USER_PASSWORD,USER_STAUS,RSET_PWD_M,USE_PWD_M,ERR_LOGIN_COUNT,LAST_LOGIN_DATE,CREATE_USER,CREATE_DATE,UPDATE_USER,UPDATE_DATE,REMARK,RES_INFO,SESSION_ID,FIRST_LGN_DATE,AES_PASSWORD,ENP_ID,ENP_NAME,USE_PWD_S,FINGERPRINT_PWD) values ('<ID>','','zhangsan<USER_NAME>','188<USER_PHONE>','<USER_IDCARD_1><USER_IDCADR>','DC483E80A7A0BD9EF71D8CF973673924','0','1','1',0,to_date ('2007-11-15','YYYY-MM-DD'),'',to_date ('2007-11-15','YYYY-MM-DD'),'',to_date ('2007-11-15','YYYY-MM-DD'),'','remarkMessage','0370e72c-1fe5-4ec1-a160-a3adf4e64e66','','gU15Wr5rOg7p72vpXACDIw==','0,22101003020','某某有限责任公司','0','')";
       //注意SQL语句后面不需要加;
       //String str="SELECT * FROM APP_USER_INFO";

       lr.start_transaction("insert_into_userinfo");

       /*如果操作类型为select,使用excuteQuery方法,查询操作返回记录集(resultset),需要用rs对象接收*/
       //rs = stat.executeQuery(str);

       /*如果操作类型为update、insert、delete使用executeUpdate方法,返回内容是影响到的条数(int),如果是creat table或者 drop table返回值为0*/
       stat.executeUpdate(str);
               
       lr.end_transaction("insert_into_userinfo",lr.AUTO);
	
        }catch(Exception e){

                e.printStackTrace();

               System.out.println("Test Failed");

         }
	     
		return 0;
	}//end of action

        public int end() throws Throwable {

	    stat.close();

	    conn.close();

	    rs.close();

        return 0;

    }//end 0f end
}

 

 

注:

1、dbUrl、user、password、conn、stat、rs作为全局变量定义在action方法外是因为loadrunner在并发时,action方法会反复执行,如果放在action内则会反复创建连接占用数据库资源,对测试结果有影响。

2、引入resultset集合类是针对查询类交易存放结果集使用。

3、所需要操作的SQL语句作为字符串存储时不需要添加";"

4、如果是查询操作则使用:executeQuery(stirng)函数,如果是增删改则使用:executeUpdate(str)函数

 

环境设置

JDK设置

F4->classpath

1.引入ojdbc的jar包 2.引入jdk的lib库

JDK路径

F4->​JavaVm->user specified JDK->输入jdk的安装路径,如:I:\Program Files (x86)\Java\jdk1.6.0_39

将jdk的地址复制到后面的value里

脚本编译

设置结束,点击OK保存,编译,提示:No errors detected,表示编译通过。

​参数化处理

顺序递增型参数

由于部分数据需要对插入数据记录编号,一般如ID这类的字段,那么设置参数的时候,选择参数化类型为:UniqueNumber。

​随机型参数

此类数据是由于业务系统要求每个数据之间的数据不同即可,如用户的手机号、身份证这些字段。那么设置参数化时,选择参数化类型为:Random Number。

注:如果参数化时字段长度不够,则可以通过拼接的方式进行参数化处理,即一个字段有多个参数化数据组合而成即可。Random Number支持最大的数字为:4294967295。

 

设置迭代、启动脚本

制造多少数据则改为多少

F4->pacing->number of Iterations:1000​

 

执行成功

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值