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 ...
随机推荐
- JPQL模糊匹配单个字符
JPQL模糊匹配,不是%,而是单个字符,该怎么办?比如我要查出数据库中满足后三位是数字的字符串 对于mysql来说,使用通配符 %和_可以轻松解决,但是对于JPQL来说模糊查询就伤脑筋了... 有一个 ...
- [luogu4403][bzoj1271][BJWC2008]秦腾与教学评估
题目描述 在秦腾进入北京大学学习的第一个学期,就不幸遇到了前所未有的教学评估.在教学评估期间,同学们被要求八点起床,十一点回宿舍睡觉,不准旷课,上课不准迟到,上课不准睡觉--甚至连著名的北大三角地也在 ...
- CF294C Shaass and Lights
题目大意: 有n盏灯,(0<=n<=1000),有m盏已经点亮,每次只能点亮与已经点亮的灯相邻的灯,求总方案数,答案对1e9+7取模 第一行:两个整数n,m表示灯的总数和已点亮的灯的数目 ...
- QQ企业邮箱+Spring+Javamail+ActiveMQ(发送企业邮件)
原来有个教程是关于Javamail的,但是那个是自己写Javamail的发送过程,这次不同的是:使用Spring的Mail功能,使用了消息队列. 先看一下设想的场景 不过本文重点不是消息队列,而是使用 ...
- 织梦DedeCMS信息发布员发布文章阅读权限不用审核自动开放亲测试通过!
文章发布员在织梦dedecms后台添加文章时却要超级管理员审核,这无疑是增加了没必要的工作. 登录该账号发布文章你会发现该文章显示的是待审核稿件,且并没有生成静态文件,在前台是看不到这篇文章的,而多数 ...
- laravel redis 删除指定前缀的 key
// 前缀 $prefix = 'abc'; // 需要在前面连接上应用的缓存前缀 $keys = app('redis')->keys(config('cache.prefix') . $pr ...
- Linux命令之touch
touch命令 用处:新建文件 (默认是文本,你可以自己加后缀) 用法:在终端中输入touch加上要新建的文件的名字(注意!同一目录下文件夹和文件是不允许同名的) 示例: (新建一个名字叫newfil ...
- JAVA记录-WebService开发部署
JWS.Axis2.cxf 1.下载axis2.war和axis2.bin.zip 2.将axis2.war包部署到Tomcat下,启动Tomcat测试:http://localhost:8089/a ...
- gitlab与pycharm结合
一切都在图中 点开pycharm里的菜单选项 设置git代码仓库的地址 修改了代码之后,如何推送到git服务器上 通过pycharm下载代码仓库 pycharm中如何设置分支 pycharm新建了分支 ...
- 单源最短路径问题(dijkstra算法 及其 优化算法(优先队列实现))
#define _CRT_SECURE_NO_WARNINGS /* 7 10 0 1 5 0 2 2 1 2 4 1 3 2 2 3 6 2 4 10 3 5 1 4 5 3 4 6 5 5 6 9 ...