天天看點

Jmeter參數化實作永久遞增

介紹一下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原件,配置資訊如下

Jmeter參數化實作永久遞增

第二步:自定義變量

Jmeter參數化實作永久遞增

第三步:添加JDBCRequest

Jmeter參數化實作永久遞增

第四步:建立JDBC後置處理器BeanShell PostProcessor

BeanShell腳本

innerNmuTemp=vars.getObject("innum").get(0).get("num");

String innerName="autoIn"+innerNmuTemp;

System.out.println(innerName);

vars.put("innername",innerName);

Jmeter參數化實作永久遞增

第五步:引用

Jmeter參數化實作永久遞增

醬紫~就可以完美實作永久遞增啦~

繼續閱讀