Jmeter如何使用数据库返回值实践

最近使用Jmeter针对产品做性能测试,测试内容是要模拟300并发用户审批休假申请时的性能。由于每个申请人的主管不同,且会根据不同的休假类型,会有一级审批或者二级审批,故很难事先在CSV中定义好需要审批的主管人及要审批的记录,即使事先定义了数据,当再次跑脚本时还需再重新修改CSV文件中的主管信息及需要审批的记录。根据需求我想到如果能实时调用数据库中的申请记录对应的主管进行登录审批可大大减少数据准备的工作量。

于是在TestPlan中加了JDBC Request,通过SQL查询,返回了需要审批的记录集,如下:

其中usercode,userid,processID,uid,activityid是返回记录集中的列名,那如何使用每行的数据呢?可以按照以下步骤来使用。

步骤如下:

1. 先添加Add->Config Element->Counter

2. 定义Counter属性如下:

3. 则在页面参数中个就可调用该变量:

UserName= ${__V(usercode_${Index})}

Appuserid= ${__V(userid_${Index})}

Processid= ${__V(processid_${Index})}

Activityid= ${__V(activityid_${Index})}

时间: 2024-10-09 05:43:31

Jmeter如何使用数据库返回值实践的相关文章

list<String,object>的元素判空(用于判断查询数据库返回值)

一般人可能会使用list.size或者list==null来做判断.当没有返回值时返回的类型为"[ ]"它并不是空也没有元素,所以使用==null以及if(list.size()>0){//业务逻辑}是不成功的. 所以这需要去判断元素的存在与否,应使用list.isEntity()函数来做判断.if(!list.isEntity()){//返回值不为0的业务逻辑}. 原文地址:https://www.cnblogs.com/daqq/p/9506098.html

Jmeter 提取http请求返回值里json数据参数化方法

第三方插件下载地址:http://jmeter-plugins.org/downloads/all/ 插件下载后解压:找到JMeterPlugins-Extras.jar,把JMeterPlugins-Extras.jar放到apache-jmeter-2.12\lib\ext目录. 查看插件安装是否成功:如图显示[email protected],表示成功.如下图: 使用json表达式提取iUserID.sToken

返回值该是什么?——泛型实践

对于泛型的初步的了解,请见http://blog.csdn.net/lifen0908/article/details/43450921  .这篇博客主要是说说泛型在机房中的运用. 一.假如是返回值实体: 我用查询学生基本信息的窗口来说明当我们的返回值是实体的情况: 首先是D层: <span style="font-family:KaiTi_GB2312;"> Dim sql As String '定义字符串变量sql 用于存放要执行的sql语句 Dim table As

数据库操作--获取存储过程的返回值

用SQL Server数据库写了个存储过程,代码如下 <span style="font-family:KaiTi_GB2312;font-size:18px;">create procedure proc_select @id int as begin if exists(select * from news where [email protected]) return 1 else return 2 end </span> 在C#中通过执行存储过程来获取返

【转】ThinkPHP中数据库操作返回值总结

Thinkphp中的Think\Model类提供了数据库的基本CURD(Create.Update.Read及Delete),通过该类可以很便捷的进行操作.Model类及扩展类主要的方法有: Create操作:create()(非链式) .add().addAll()支持的链式操作有:table .data.field .relation .validate.auto .filter.scope .bind .token .comment Update操作save().setField().se

ThinkPHP中数据库操作返回值总结

转自:http://www.baiwar.com/post/thinkphp-database-operations-in-the-return-value.html Thinkphp中的Think\Model类提供了数据库的基本CURD(Create.Update.Read及Delete),通过该类可以很便捷的进行操作.Model类及扩展类主要的方法有: Create操作:create()(非链式) .add().addAll()支持的链式操作有:table .data.field .rela

Mybatis+Mysql插入数据库返回自增主键id值的三种方法

一.场景: 插入数据库的值需要立即得到返回的主键id进行下一步程序操作 二.解决方法: 第一种:使用通用mapper的插入方法 Mapper.insertSelective(record): 此方法:插入一条数据,只插入不为null的字段,不会影响有默认值的字段支持Oracle序列,UUID,类似Mysql的INDENTITY自动增长(自动回写)优先使用传入的参数值,参数值空时,才会使用序列.UUID,自动增长 controller的实际应用:使用方法id会直接将映射到参数的实体上使用时直接使用

Mybatis/Ibatis,数据库操作的返回值

该问题,我百度了下,根本没发现什么有价值的文章:还是看源代码(详见最后附录)中的注释,最有效了!insert,返回值是:新插入行的主键(primary key):需要包含<selectKey>语句,才会返回主键,否则返回值为null.update/delete,返回值是:更新或删除的行数:无需指明resultClass:但如果有约束异常而删除失败,只能去捕捉异常.queryForObject,返回的是:一个实例对象或null:需要包含<select>语句,并且指明resultMap

【转】 Mybatis/Ibatis,数据库操作的返回值

该问题,我百度了下,根本没发现什么有价值的文章:还是看源代码(详见最后附录)中的注释,最有效了!insert,返回值是:新插入行的主键(primary key):需要包含<selectKey>语句,才会返回主键,否则返回值为null.update/delete,返回值是:更新或删除的行数:无需指明resultClass:但如果有约束异常而删除失败,只能去捕捉异常.queryForObject,返回的是:一个实例对象或null:需要包含<select>语句,并且指明resultMap