介紹一下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);
第五步:引用
醬紫~就可以完美實作永久遞增啦~