介绍一下Jmeter永久递增的方法。相比Jmeter的函数_counter简直完美到哭

 

一、  本机安装mysql数据库,或者直接用测试环境的测试库

 

二、 创建自动化数据库

    CREATE DATABASE autotest;

三、 创建自增序列

第一步:创建--Sequence 管理表

DROPTABLEIF EXISTSsequence;

CREATETABLEsequence(

     nameVARCHAR(50) NOTNULL,

     current_valueINTNOTNULL,

     incrementINTNOTNULLDEFAULT1,

     PRIMARYKEY(name)

) ENGINE=InnoDB;

第二步:创建--取当前值的函数

DROPFUNCTIONIFEXISTS currval;

DELIMITER $

CREATEFUNCTIONcurrval(seq_name VARCHAR(50))

     RETURNSINTEGER

     LANGUAGESQL

     DETERMINISTIC

     CONTAINSSQL

     SQLSECURITY DEFINER

     COMMENT ''

BEGIN

     DECLAREvalue INTEGER;

     SETvalue = 0;

     SELECTcurrent_value INTOvalue

          FROMsequence

          WHEREname=seq_name;

     RETURNvalue;

END

$

DELIMITER ;

第三步:创建--取下一个值的函数

DROPFUNCTIONIFEXISTS nextval;

DELIMITER $

CREATEFUNCTIONnextval(seq_name VARCHAR(50))

     RETURNSINTEGER

     LANGUAGESQL

     DETERMINISTIC

     CONTAINSSQL

     SQLSECURITY DEFINER

     COMMENT ''

BEGIN

     UPDATEsequence

          SETcurrent_value = current_value + increment

          WHEREname=seq_name;

     RETURNcurrval(seq_name);

END

$

DELIMITER ;

第四步:创建--更新当前值的函数

DROPFUNCTIONIFEXISTS setval;

DELIMITER $

CREATEFUNCTIONsetval(seq_name VARCHAR(50), value INTEGER)

     RETURNSINTEGER

     LANGUAGESQL

     DETERMINISTIC

     CONTAINSSQL

     SQLSECURITY DEFINER

     COMMENT ''

BEGIN

     UPDATEsequence

          SETcurrent_value = value

          WHEREname=seq_name;

     RETURNcurrval(seq_name);

END

$

DELIMITER ;

第五步:测试函数功能

1.INSERT INTO sequence(NAME,current_value,increment) VALUES ('innerSeq', 0, 1);----添加一个sequence名称和初始值,以及自增幅度

2.SELECT SETVAL('innerSeq', 0);---设置指定sequence的初始值

3.SELECT CURRVAL('innerSeq');--查询指定sequence的当前值

4.SELECT NEXTVAL('innerSeq');--查询指定sequence的下一个值

 

(1)  Jmeter引用

 

第一步:添加JDBCConnection Configuration原件,配置信息如下

 

 

第二步:自定义变量

 

 

 

第三步:添加JDBCRequest

 

第四步:创建JDBC后置处理器BeanShell PostProcessor

 

BeanShell脚本

innerNmuTemp=vars.getObject("innum").get(0).get("num");
String innerName="autoIn"+innerNmuTemp;
System.out.println(innerName);
vars.put("innername",innerName);

 

 

 

第五步:引用

 

 

酱紫~就可以完美实现永久递增啦~

 

 

Logo

更多推荐