jmeter中实现java请求实战日志
public class JdbcInsert implements JavaSamplerClient {
// 全局变量
PreparedStatement pstmt;
Connection conn;
@Override
public Arguments getDefaultParameters() {
// 主要用于把jmeter界面中的参数和java脚本关联起来
Arguments arguments = new Arguments();
arguments.addArgument("uuid",UUID.randomUUID().toString());
arguments.addArgument("username","张三");
arguments.addArgument("pwd","123");
arguments.addArgument("jdbcurl","jdbc:mysql://localhost:3306/xxxx"
return arguments;
}
// 执行测试操作,类似于LR里的Action函数,执行N次
@Override
public SampleResult runTest(JavaSamplerContext context) {
int rows = 0;
// 框架要求可能出现问题的代码,不能抛出异常,只能自己处理,把有问题的代码放到try里面,解决方案放到catch里
try {
pstmt.setString(1,context.getParameter("uuid"));
pstmt.setString(2, context.getParameter("username"));
pstmt.setString(3, context.getParameter("pwd"));
// 执行sql多次
rows = pstmt.executeUpdate();
} catch (SQLException e) {
// 当出现异常时打印异常
e.printStackTrace();
}
System.out.println(rows);
return null;
}
// 初始化操作,类似于LR中的init函数,执行1次
@Override
public void setupTest(JavaSamplerContext context) {
String url =context.getParameter("jdbcurl");
String username = "root";
String password = "123123";
String sql = "insert into t_user (uuid,username,pwd) values(?,?,?)
// 注册驱动,告诉java要链接哪个数据库
try {
Class.forName("com.mysql.jdbc.Driver");
// 建立mysql数据库链接
conn = (Connection) DriverManager.getConnection(url, username,
// 把sql进行编译
pstmt = (PreparedStatement) conn.prepareStatement(sql);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 结束操作,类似于LR里的end函数,执行1次
@Override
public void teardownTest(JavaSamplerContext context) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
JdbcInsert jdbcInsert = new JdbcInsert();
//先创建一个参数对象Argument
Arguments arguments = jdbcInsert.getDefaultParameters();
//再创建一个上下文对象JavaSamplerContext,并且把Argument对象传入
JavaSamplerContext context = new JavaSamplerContext(arguments);
jdbcInsert.setupTest(context);
jdbcInsert.runTest(context);
jdbcInsert.teardownTest(context);
}
}
jmeter中实现java请求思路:采用jmeter提供的框架包,创建一个类,继承类JavaSamplerClient
新建java类继承JavaSamplerClient










jmeter中实现java请求实战日志的更多相关文章
- 性能测试十一:jmeter进阶之java请求
使用Java编写JDBC脚本对Mysql进行增删改查等操作的性能测试 使用Jmeter提供的脚本框架依赖的jar包(分别在jmeter目录下的lib和ext目录下) ApacheJMeter_core ...
- 【JMeter】JMeter完成一个java请求的压测
先定义一下我说的remoteService:即远程调用服务,没有http的url.不对外提供或者对外提供有限的服务.具体视各公司的代码架构所定,比如有些公司为web工程,scf服务,db.scf即为服 ...
- 【转】JMeter完成一个java请求的压测
JMeter完成java请求的压力测试详解以及问题总结 原文地址:http://www.cnblogs.com/zhaoxd07/p/4895224.html 作者:KK_Yolanda 这篇文 ...
- jmeter之自定义java请求性能测试
一.环境准备 1.新建一个java工程 2.导入jar包:ApacheJMeter_core.jar ApacheJMeter_java.jar ...
- 性能测试十二:jmeter进阶之java请求参数化
如项目中的ip.端口号之类的,都可以在此代码中定义 public Arguments getDefaultParameters() { // TODO Auto-generated method st ...
- 六、Jmeter中自动提取Http请求参数,并put到Map,然后进行MD5加密
1.BeanShell PerOrocessor中的脚本 import src.com.csjin.qa.MD5.*;//个人jar包 import java.util.*; import java. ...
- JMeter中使用Put请求方式请求接口
前言 现在有如下接口,是以PUT的方式请求的: 请求URL:IP+Port+/api/v1/apps/{appId} 请求参数: 参数名 必选 类型 nameCn 是 string nameEn 是 ...
- eclipse中纯java配置log4j日志
1.新建java项目log4Test 2.新建目录lib,把log4j-1.2.9.jar包放入lib目录 3.右键工程,选择Properties->Java Build Path->Li ...
- 利用jmeter发起java请求调用shell脚本
1.创建maven项目 在pom文件中加入依赖: 2.在路径src/main/java下创建类,如类名shellclass 3. 创建jmet ...
随机推荐
- 自学Zabbix9.1 Network Discovery 网络发现原理
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix9.1 Network Discovery 网络发现原理 1. 网络发现简介 网络 ...
- 【BZOJ2003】[HNOI2010]矩阵(搜索)
[BZOJ2003][HNOI2010]矩阵(搜索) 题面 懒得粘了,不难找吧. 题解 看的学长写的题解,也懒得写了 大概是这样的. 不难发现只需要确定第一行和第一列就能确定答案,而确定第一行之后每确 ...
- 【原创】py3+requests+json+xlwt,爬取拉勾招聘信息
在拉勾搜索职位时,通过谷歌F12抓取请求信息 发现请求是一个post请求,参数为: 返回的是json数据 有了上面的基础,我们就可以构造请求了 然后对获取到的响应反序列化,这样就获取到了json格式的 ...
- 解决Ubuntu17.04以上系统,yarn init报错
安装yarn的时候老是装了个cmdtes的东西,官网是说删掉cmdtest重装就行,但是真没用. 正确的解决办法应该是像这位说的一样,先修改一下源,sudo apt update再下载,就能下载到真正 ...
- MSSQL获取当前插入的ID号及在高并发的时候处理方式
SQL Server 2000中,insert数据的时候返回自动编号的id,有三种方法实现SCOPE_IDENTITY.IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDEN ...
- 在Vue中如何使用axios跨域访问数据(转)
最近在项目中需要用到axios,所以就恶补一下这个axios到底是什么东东.越来它是vue-resource的替代品,官网也说了,以后都用axios, vue-resource不在维护.那么这个axi ...
- advancedsearch.php织梦高级自定义模型字段无法调用解决方案
advancedsearch.php织梦dedecms 高级自定义模型字段无法调用解决方案 ,具体步骤如下: 1 打开修改puls/advancedsearch.php文件,找到复制代码(不同版本可 ...
- hibernate中复合主键的使用
转: https://blog.csdn.net/shutingwang/article/details/6627730 https://blog.csdn.net/lmy86263/article/ ...
- Hadoop生态圈-Oozie实战之逻辑调度执行多个Job
Hadoop生态圈-Oozie实战之逻辑调度执行多个Job 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1>.启动hadoop集群 [root@yinzhengjie ha ...
- Redis主从加Sentinel模式部署
总体部署 一主二从三哨兵 ip地址分配分别为 主 127.0.0.1:6379 从 127.0.0.1:6389 从 127.0.0.1:6399 哨兵 127.0.0.1:26379 哨兵 127. ...