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原件,配置信息如下

 

 

第二步:自定义变量

 

 

 

第三步:添加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);

 

 

 

第五步:引用

 

 

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

 

 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter中,参数化是为了让参数的值由固定状态变为动态的,每次访问的参数时不一样的。参数化的作用是可以将项目中多次用到的数据进行参数化,比如用户名、密码,也可以将经常变动的信息参数化,比如IP地址等。有多种方法可以实现参数化,包括使用CSV Data Set Config(CSV数据文件设置)、函数助手、用户参数和用户自定义变量等方法。 使用CSV Data Set Config方法,首先需要定义一个txt文件,文件中写入参数的值。然后在线程组中添加HTTP请求,并在配置元件中添加CSV数据文件设置。在数据文件设置页中,设置数据,指定文件名和变量名称,将这些变量引用到HTTP请求的参数中去。 使用函数助手方法,同样需要提前创建含有参数值的txt文件。然后在HTTP请求中添加函数助手,并在函数助手页进行设置,选择_CSVRead功能,指定txt文件的根目录和参数所在的列。生成函数字符串后,将函数字符串添加到变量的值中。 使用用户参数方法,首先创建线程组,并在用户参数中添加变量。然后在HTTP请求中将固定的IP地址和端口号改成刚刚添加的变量名。 使用用户自定义变量方法,给线程组添加自定义变量,并添加变量。然后将HTTP请求中的参数值替换为自定义变量。 以上是JMeter实现参数化的四种方式,根据不同的场景和需求选择合适的方法进行参数化。[1][2][3]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值