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 ...
随机推荐
- python2和python3的主要区别
作为一个py3土著,并不是很关心这个问题,但是总有人隔三差五问这个问题,还是捋了一下. 这里列出几个主要区别: 1.最常见的人尽皆知的print()函数 在py2中,print是一个语句,不带括号,也 ...
- css样式——选择器(三)
https://www.cnblogs.com/haiyan123/p/7552235.html 1.怎么找到标签 2.如何操作标签的对象 一.css概述 CSS是Cascading Style Sh ...
- 关于next.js中的css
css进行了全局和局部的限制 export default () => ( <div className='hello'> <p>Hello World</p> ...
- pascal与其它语言代码书写的不同和pascal的快捷键
1.把很多简单语句括起来 begin end; 2.开始,结束 begin end. 3.判断if if (布尔表达式) then begin 语句 end //没有‘:’ else if () b ...
- MATLAB运行edge函数闪退
出现这种问题时,先检查代码有没有问题,换一张图片是不是也有闪退情况. 如果以上都检查过没问题,还是有闪退现象,那就检查MATLAB的版本是不是太低了,比如r2010a版本运行edge函数时,就经常出现 ...
- Java设计模式--缺省适配器模式
我认为这个模式比较常见,还记得我们学习Swing的时候吗,有没有见过很多Adapter?那时候不知道Adapter的意义所在,但至少知道他能够省去我们不需要的实现. 这个社会有N中职业(job),但是 ...
- Solr7.1---简单搜索
本文环境基于上一节. and搜索 两种用法: apple AND banana +apple +banana [+是一元操作符,要求求后面的查询部分必需在文档中出现.AND是二元操作符,要求其左右两端 ...
- mui dtpicker 时间的设置 以及MUI的弹窗
1)引入mui.min.css,然后引入mui.picker.min.css 注意这个mui.picker.min.css 与 mui.picker.css 不一样 2)引入 ...
- read from /dev/urandom 返回值异常
#include<stdio.h> #include<iostream> #include <fcntl.h> #include <sys/mman.h> ...
- django 执行 python manage.py makemigrations 报错
RuntimeError: Model class app_anme.models.xxx doesn't declare an explicit app_label and isn't in an ...