【java请求】- jmeter_jdbc脚本实战
一,导入
使用Jmeter运行Java脚本,需要用到Jmeter的提供的框架jar包(分别在jmeter目录下的lib和ext目录下)
1.ApacheJMeter_core.jar
2.ApacheJMeter_java.jar
3.slf4j-api-1.7.25.jar
4.jorphan.jar
5.导入sql驱动器.jar
注:导入之后要记得,右键 build pats -> add..引入jar包
二,创建类导入
javaSamplerClient方法 jmeter 中 java请求框架
三,写脚本
getDefaultParameters:获取参数,设置的参数会在Jmeter的参数面板上显示出来
setupTest:初始化方法,只执行一次,跟LR里的init方法一样的,用于建立链接
runTest:执行N次,处理业务
teardownTest:结束方法,只执行一次,LR里的end方法是一样的,用于释放资源
四,导出jmeter jar 包


java_jdbc 脚本由loadrunner脚本转化而来
package com.test.jmeter; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException; import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult; public class jdbc_jmeter_insert implements JavaSamplerClient {
// 全局变量
PreparedStatement statement;
Connection conn; @Override
public Arguments getDefaultParameters() {
Arguments arguments = new Arguments();
arguments.addArgument("sql", "insert into itcast_role (name,description) values (?,?)");
arguments.addArgument("url", "jdbc:mysql://localhost:3306/oa?useUnicode=true&characterEncoding=utf8");
arguments.addArgument("user", "root");
arguments.addArgument("password", "123456"); arguments.addArgument("name", "lisi");
arguments.addArgument("desc", "test");
return arguments;
} // 初始化方法,类似于LR里的init方法,特点是每个用户只执行一次
@Override
public void setupTest(JavaSamplerContext context) {
// 注册驱动,告诉Java接下来要链接哪个数据库
try {
Class.forName("com.mysql.jdbc.Driver");
// 建立mysql数据库链接
conn = DriverManager.getConnection(context.getParameter("url"),context.getParameter("user"),context.getParameter("password"));
// 把sql进行编译
statement = conn.prepareStatement(context.getParameter("sql"));
} catch (Exception e) {
e.printStackTrace();
} } // runTest方法,类似LR里的actions方法,特点是每个用户执行多次(循环次数或者持续时间s)
@Override
public SampleResult runTest(JavaSamplerContext context) {
SampleResult result = new SampleResult();
// 定义一个事务名称
result.setSampleLabel("insert");
// 事务开始
result.sampleStart();
// 执行sql之前,先进行参数化
try {
statement.setString(1, context.getParameter("name"));
statement.setString(2, context.getParameter("desc"));
int rows = statement.executeUpdate();
if (rows == 1){
// 事务成功
result.setSuccessful(true);
}else{
// 事务失败
result.setSuccessful(false);
}
System.out.println("=============================:"+rows);
} catch (SQLException e) {
e.printStackTrace();
}
// 事务结束
result.sampleEnd();
return result;
} // 结束方法,类似于LR里的end方法,特点是每个用户只执行一次
@Override
public void teardownTest(JavaSamplerContext context) {
// 关闭链接
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
} public static void main(String[] args) {
jdbc_jmeter_insert jmeter = new jdbc_jmeter_insert();
JavaSamplerContext context = new JavaSamplerContext(jmeter.getDefaultParameters());
jmeter.setupTest(context);
jmeter.runTest(context);
jmeter.teardownTest(context);
} }
java_jdbc

loadrunner-JDBC 脚本 https://www.cnblogs.com/zhenyu1/p/10620524.html
【java请求】- jmeter_jdbc脚本实战的更多相关文章
- Jmeter性能测试实践之java请求
前言 Apache Jmeter是开源.易用的性能测试工具,之前工作中用过几次对http请求进行性能测试,对jmeter的基本操作有一些了解.最近接到开发的对java请求进行性能测试的需求,所以需要 ...
- jmeter中实现java请求实战日志
view code public class JdbcInsert implements JavaSamplerClient { // 全局变量 PreparedStatement pstmt; Co ...
- JMeter扩展Java请求实现WebRTC本地音视频推流压测脚本
WebRTC是Web Real-Time Communication缩写,指网页即时通讯,是一个支持Web浏览器进行实时语音或视频对话的API,实现了基于网页的视频会议,比如声网的Agora Web ...
- Jmeter常用脚本开发之Java请求
Java请求:就是用来对java项目的类进行压测 例子:将输入的两个参数通过IO存入文件 1.创建Java工程,工程目录如下 2.将Jmeter-lib下面的所有jar包导入java工程, 3.创建一 ...
- 利用jmeter发起java请求调用shell脚本
1.创建maven项目 在pom文件中加入依赖: 2.在路径src/main/java下创建类,如类名shellclass 3. 创建jmet ...
- 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)
轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)(国家级奖项获奖作品升级版,四版累计印刷27次发行量超10万册的轻量级Jav ...
- [Java聊天室server]实战之五 读写循环(服务端)
前言 学习不论什么一个稍有难度的技术,要对其有充分理性的分析,之后果断做出决定---->也就是人们常说的"多谋善断":本系列尽管涉及的是socket相关的知识,但学习之前,更 ...
- 性能测试十二:jmeter进阶之java请求参数化
如项目中的ip.端口号之类的,都可以在此代码中定义 public Arguments getDefaultParameters() { // TODO Auto-generated method st ...
- 性能测试十一:jmeter进阶之java请求
使用Java编写JDBC脚本对Mysql进行增删改查等操作的性能测试 使用Jmeter提供的脚本框架依赖的jar包(分别在jmeter目录下的lib和ext目录下) ApacheJMeter_core ...
随机推荐
- iOS之oc与html之间的交互(oc中调用js的方法)
一.运行的效果图 1.刚开始的效果 2.运行结束后的效果 二.准备工作 1.准备一个html文件导入到oc工程中 2.jiaohu.html文件的原始内容 3.从oc语言中操作.html文 ...
- 有关dubbo面试的那些事儿
dubbo是什么 dubbo是一个分布式框架,远程服务调用的分布式框架,其核心部分包含: 集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集 ...
- LL(1)文法--递归下降程序
递归下降程序 递归下降程序一般是针对某一个文法的.而递归下降的预测分析是为每一个非终结符号写一个分析过程,由于文法本身是递归的,所以这些过程也是递归的. 以上是前提. Sample 假如给的是正规式子 ...
- CentOS6安装各种大数据软件 第六章:HBase分布式集群的配置
相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...
- Java基础之File类的使用
Java基础之File类的使用 1.File类的构造方法和常用方法 2.对File中listFile(FileNameFilter name)学习 3.与File文件类相关的实现 File类的构造方法 ...
- java Clob类型 转String
1.我的数据库是oracle11g 遇到取出来的字段是clob类型,但是所需要的是string类型,写一个转换函数就可以解决问题了. // Clob类型 转String public String C ...
- vue中渲染页面,动态设置颜色
for循环中动态设置页面的图标或者字体颜色与循环中且套循环 :style="{'color':items.color}" 案例代码: html中 <div class=&qu ...
- Delphi Android下包含第三方DEX
1.将jar转换为dex call dx --dex -verbose --output=.\output\dex\test_classes.dex --positions=lines .\outpu ...
- Quick find Helper
using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; /// <summary> /// 视图 ...
- react native android模拟机调试
模拟机调试首先要确认你的环境变量的path中是不是有adb的路径,adb一般在android的adk目录下的platform-tools下,android目录默认是在c盘user/administra ...