Jmete-JDBC Request与BeanShell PostProcessor的结合使用

JMeter(三):后置处理器[JDBC PostProcessor] 先说使用场景:需要使用参数化做数据驱动测试时,需要提前准备测试数据环境,前置处理器:顾名思义就是在测试开始之前准备数据,可以是从数据库获取也可以是从文件中读取遍历; 那么反过来,与之对应就会有后置处理器:意义在于清理数据环境或还原数据,还可以是用做参数动态关联,所以这一节介绍的元件有些多<选取主要的元件进行说明>: 1、JDBC PostProcessor :JDBC前置处理器处理请求前的数据<这一章节的内容较多,关于jdbc的前置/后置处理器,再单独提取出来做演示> t. 阅读详情

0 .下载驱动包(2种引用的方法):
1.需要将JDBC Driver.jar包下载到本地,在Test Plan中的右下角Browesr中找到jar包的位置,进行引用
2.下载JDBC Driver.Jar包,将jar包放到Jmeter文件夹下的lib\ext下
任意一种方法都可以,最后重新启动Jmeter进行编写脚本

这里写图片描述

1.配置JDBC Connection Configuration
1.1 Variable Name:定义变量名称,作用:说明哪个JDBC Request需要引用此配置
1.2 Database Connection Configutration:输入要访问的数据库信息(查看Jmeter中Help文档)
- Database URL:数据库连接的信息
- JDBC Driver class:数据库的连接驱动名称
- Username:数据库的用户名
- Password:数据库的密码
这里写图片描述

2.JDBC Request配置
2.1 Variable Name:输入需要引用的JDBC配置(当前输入的数值与JDBC Connection Configuration相同的名称),两者的变量名称是需要一致的
这里写图片描述

2.2 Query Type:输入查询的类型(默认选择Select Statement)
2.3 Restult Variable name:将所查询的结果放到此结果集中(result),其余参数使用数名查看Jmeter中Help文档

3.从BeanShell PostProcessor中取出结果集
3.1 取出结果集中的数据:
columnValue = vars.getObject(“resultObject”).get(0).get(“Column Name”);
意义:
- vars.getObject(“resultObject”):代表从哪个结果集中取数据
- get(0):取第几行
- get(“ColumnName”):取哪一列

备注:
1. columnValue = vars.getObject(“resultObject”).get(0).get(“Column Name”),返回的类型是Object类型。

3.2 需要将Object类型转换成String类型(取出对象的名称.toString())。
例如:columnValueResule.toString()),其中columnValueResule是取出的对象名称

3.3 取出来的变量放到jmeter中,用此方法:vars.put(“key”,Value)。
例如:vars.put(“event_log_id”,columnValueResule.toString());如果要引用此查询语句的结果,只需要引用key值就可以
查看红色区域部分

3.4 从Jmeter中取出数据,在BeanShall中引用,用此vars.get(key);
注意:
1.若要取值,在Parameters中写一下
这里写图片描述

4.引用变量
4.1 引用变量,再次查询结果,在Response Assertion(响应断言)中引用一下变量,查看两次查询的结果是否相同。

这里写图片描述

JMeter(十一):实现MySQL数据库测试(下) 通过JMeter的JDBC Request元件,我们可以轻松地实现对MySQL数据库的测试。通过编写SQL语句,我们可以查询或操作数据库,从而验证数据库的性能和稳定性。同时,JMeter提供了多种监听器来查看和分析测试结果,帮助我们更好地了解数据库的性能表现。希望本文能够帮助你更好地使用JMeter进行MySQL数据库测试。 阅读详情

相关推荐

JMeter(三):后置处理器[BeanShell PostProcessor]

BeanShell PostProcessor允许你在收到服务器的响应后,使用BeanShell脚本对响应数据进行处理。例如,你可以提取响应中的特定数据、修改响应内容、或者根据响应数据决定是否继续执行后续的测试步骤。BeanShell PostProcessor是JMeter中一个强大的工具,它允许你在收到响应后执行自定义操作。通过编写BeanShell脚本,你可以轻松地提取、修改或处理响应数据,以满足你的测试需求。

我先测了 2366

jmeter---连接数据库_JDBC 系列

Jmeter-JDBC系列组件

paidaxing_dashu的博客 1378

STM32硬件SPI调试ADS1256的3个致命坑,CubeMX配置避坑指南

本文深入解析STM32硬件SPI调试ADS1256高精度ADC芯片时常见的3大配置陷阱,包括SPI时钟频率、时钟极性与相位、数据字节序等关键问题。通过CubeMX实战配置指南和实测数据对比,提供稳定可靠的解决方案,帮助开发者避免常见错误,提升采样精度和系统稳定性。

weixin_42550597的博客 346

Jmeter中JDBC Request和BeanShell PostProcessor的结合使用(SQL模糊查询)

【前言】 今天记录一下Jmeter中JDBC Request和BeanShell PostProcessor的结合使用的方法(SQL模糊查询) 【步骤】 1.下载对应数据库的驱动包到jmeter安装目录的lib文件中,并导入到jmeter的测试计划中(楼主的数据库是Postgresql) 2.配置好JDBC Connection Configuration Variable...

weixin_30901729的博客 309

HFSS - 侧馈矩形微带天线设计与仿真

一、设计指标 中心频率:2.45GHz 介质板厚度:1.6mm 介质板相对介电常数:4.4 二、理论计算 辐射贴片宽度w=c2f(εr+12)−12w=\frac{c}{2 f}\left(\frac{\varepsilon_{r}+1}{2}\right)^{-\frac{1}{2}}w=2fc​(2εr​+1​)−21​ 辐射贴片长度L=cfεe−2ΔLL=\frac{c}{f \sqrt{\varepsilon_{\mathrm{e}}}}-2 \Delta LL=fεe​​c​−2ΔL

MaxWei 1万+

【图形学】后处理下的HDR、颜色分级、颜色映射与颜色空间

目录 一、Color Grading 1.1概念 1.2 内置在Unity/UE4 二、HDR、LDR与VDR 2.1 LDR 2.2 HDR 2.3 VDR 三、Tone Mapping 3.1 概念 3.2 算法发展史 3.3 ACES算法 四、常见的颜色空间标准 参考 一、Color Grading 1.1概念 Color Grading(颜色分级、颜色校正)俗称调色,是游戏后期处理中最常见也是必要的一个环节。它能够改变或矫正最终图像的颜色和亮度,你可以把它想象...

ColorGalaxy 8420

通过后置处理器BeanShell PostProcessor读取数据库数值

1、新建JDBC Request 2、设置查询结果变量名称:Result variable name:user_name 3、JDBC request下添加后置处理器,BeanShell PostProcessor,通过脚本操作变量 接下来,在另一个接口中的参数可以通过jmeter的内部函数获取指定的值 ${__BeanShell(vars.getObject("user_login")....

weixin_42172231的博客 1763

实战分享:如何用本地替换和插桩调试搞定Kasada最新版x-kpsdk-cd环境检测

本文深入解析Kasada最新版x-kpsdk-cd环境检测机制,提供动态请求拦截、本地替换和函数插桩等实战调试策略。通过Proxy保护破解、关键函数断点调试和环境检测对抗方案,帮助逆向工程师有效应对从280位扩展到294位的加密数组挑战,实现高效补环境调试。

weixin_29251567的博客 572

jemeter mysql 参数化_Jmeter的JDBC Request,sql参数化及返回值取值

1.JDBC Request面板Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持一致Query:填写的sql语句未尾不要加“;”Parameter values:参数值Parameter types:参数类型Variable names:保存sql语句返回结果的变量名Resul...

weixin_42131790的博客 1244

深入浅出CenterFusion

结合论文和代码理解CenterFusion

Untitled的专栏 5104

强化学习:从经典强化学习理解强化学习

1. 背景介绍 强化学习(Reinforcement Learning,RL)作为机器学习领域的重要分支,近年来取得了长足的进步。其核心思想是让智能体通过与环境的交互学习最优策略,从而最大化累积奖励。不同于监督学习和非监督学习,强化学习无需预先标注数据,而是通过试错的方式逐步学习,具有更强的适应性和泛化能力。

AI架构师小马 1804

jmeter使用beanshell和jdbc 将sql查询出来的数据写入文件中

需求 通过sql查询结果,将结果写入scv文件中。 思路 1、使用jdbc取样器获取sql查询结果 2、使用beanshell将查询结果写入指定的文件中。 操作步骤 1、创建一个配置原件JDBC Connection Configuration,如下图 2、创建一个jdbc request 请求,如下图: 3、创建一个beanshell取样器,如下图 //创建文件对象 FileWriter fw =new FileWriter("d:\\deviceNum.csv",true); //创建一个字符

liuqiuxiu的博客 2419

基于Simulink的H∞鲁棒控制器设计与仿真建模示例

本文介绍了基于Simulink的H∞鲁棒控制器设计与仿真方法。针对质量-弹簧-阻尼系统存在±50%刚度不确定性的问题,详细阐述了从构建广义被控对象、设计性能加权函数,到使用hinfsyn综合控制器的完整流程。通过Simulink仿真验证,所设计的H∞控制器在参数摄动和外部扰动下均保持良好性能,位移控制误差小于2%,扰动衰减超过20dB。相比传统PID控制,H∞方法展现出显著鲁棒性优势。文章还总结了工程实践中的加权函数调参技巧、控制器降阶方法,并展望了μ-综合等扩展方向,为处理系统不确定性提供了实用解决方案。

amy_mhd的博客 70

Jmeter的后置处理器(二)

假设我们有一个简单的测试计划,包含一个线程组和一个HTTP请求,并希望在登录请求后使用 Debug PostProcessor 查看提取的用户ID和其他变量的值。假设我们有一个简单的测试计划,包含一个线程组和一个HTTP请求,并希望在登录请求后使用 Debug PostProcessor 查看提取的用户ID和其他变量的值。假设我们有一个简单的测试计划,包含一个线程组和两个HTTP请求,并希望从登录请求的响应中提取用户的ID,然后在后续请求中使用该用户ID。

. 2810

【ComfyUI】SD1.5 + ControlNet 边缘检测融合动漫转真人

本文介绍了一个基于ComfyUI的动漫转真人图像生成工作流,通过多模型协同实现高质量的二次元图像转换。该工作流集成了Canny线稿预处理、ControlNet结构控制、VAE编码解码和人脸精细化处理等核心环节,采用majicmixRealistic_v7作为主模型,配合yolov8、SAM等辅助模型。整个流程包含11个标准化步骤,从图像输入、预处理到最终超分输出,通过ControlNet引导和CLIP语义控制确保生成图像的写实感和结构准确性,特别针对人脸区域进行专业优化,最终可输出高分辨率写实人像。

Mr数据杨 1127

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Jemter -- BeanShell PostProcessor

一、简介 BeanShellPostProcessor 是一个轻量级的面向Java的脚本语言,允许使用标准的Java语法来处理Json数据。 特点:需要下载第三方jar包、有简单的Java基础、可以使用Java进行逻辑判断提取更多复杂的值。 我们这里下载fastjosn.jar(fastjson-1.1.6.jar)包用以解析json数据。将下载后的jar包放在jmeter文件的lib下,然后重启即可。 二、添加方式 在需要提取信息的取样器下添加。 取样器上右键点击“添加”---“后置处理器”-

LOVEYSUXIN的专栏 1482

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Jmeter之数据库JDBC测试(前置处理器/后置处理器/取样器)

Jmeter之数据库JDBC测试(前置处理器/后置处理器/取样器)

晴天的博客 3783

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

jmeter之JDBC Request各种数据库配置

URL和JDBC驱动: Datebase Driver class Database URL MySQL com.mysql.jdbc.Driver jdbc:mysql://host:port/{dbname} PostgreSQL org.postgresql.Driver jdbc:postgresql:{dbname} Oracle oracle.jdbc...

aohuijie9022的博客 238

Jmeter之BeanShell PostProcessor使用

BeanShell介绍 BeanShell是一个嵌套在jmeter中的一个免费的、小型的处理器,采用Java编写的。 BeanShell执行标准的Java语法,并使用常见的脚本编写便利进行扩展,可支持自定义导出Jar1包引用等。 使用前的背景 接口间的关联参数数据需要传递参数值。故可通过Beanshell PostProcessor来处理。 下面我们一起来学习如何使用Beanshell Pos...

枫的等待 7658

JMeter-BeanShell预处理程序和BeanShell后置处理程序的应用

BeanShell。

weixin_71807218的博客 2253
下一篇: Mobile test of Method
Cping_Yan
博客等级 码龄10年 1粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值