JMeter 中实现发送Java请求

1.  步骤1 新建JAVA项目

File -> New -> Java Project

如上图,填写Project Name,然后Next,打开以Java
Settings界面

如上图,切换到Libraries标签页
-> 选择Add Library -> User
Libray,点击Next 按钮,打开以下 User Libraries界面

如上图,点击 New ,弹出窗中输入自定义类库名称

选择定义类库(例中为
JMeter Lib),然后点击
Add JARS 按钮,添加$JMETER_HOME/lib
目录下(包含子目录下)的jar包(为了避免包之间的依赖性问题,可以考虑全部添加进来)

完成后,点击OK按钮,返回如下界面

点击Finish,返回如下界面

点击Finish

2. 
步骤2 新建JAVA包

右键src目录 -> New -> Package,打开如下界面

点击Finish,提交

3. 
步骤3 新建JAVA
Class

右键 包名 -> New ->
Class,打开如下界面

点击Finish,提交

再新建一个testDriver JAVA Class

4. 
步骤4 编写用例类

package
testpkg;

import
org.apache.jmeter.config.Arguments;

import
org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;

import
org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;

import
org.apache.jmeter.samplers.SampleResult;

public class TestClass extends AbstractJavaSamplerClient
{

private
static long start = 0;

private
static long end = 0;

private
String id = "0";

@Override

public void setupTest( {

// 开始时间

start =
System.currentTimeMillis();

}

@Override

public void teardownTest( {

// 结束时间

end =
System.currentTimeMillis();

// 总体耗时

System.err.println("cost
time:" + (end - start) / 1000);

}

public Arguments getDefaultParameters() {

Arguments args = new
Arguments();

args.addArgument("id",
"123456789"); // 添加默认参数及对应值
 //参数名称:id
 参数值:123456789

return
args;

}

@Override

public SampleResult runTest( {

id =
arg0.getParameter("id");

boolean
if_success = true;//测试结果标记位

SampleResult
sr = new SampleResult(); // 为避免多线程问题,设置sr为局部变量

sr.setSampleLabel(";
        //
设置采样标签,对应GUI
聚合报告里的Label值

try
{

//Start

sr.sampleStart(); //
开始统计响应时间

//
TODO

System.out.println(id);

//sr.setResponseData("data
return by server", "");  //第一个参数
设置JMeter GUI "查看结果树" 请求对应的"响应数据" // 执行压测前 建议注释掉

sr.setResponseData("data
return by server", "utf-8"); //第二个参数 为编码,
设置JMeter GUI "取样器结果"
 DataEncoding: utf-8  //
第二个参数为 "",
则表示默认为 GBK编码

sr.setDataType(SampleResult.TEXT);
// 设置JMeter GUI
"取样器结果" Data
type ("text"|"bin"|""):text

sr.setResponseMessageOK(); //
设置JMeter GUI
"取样器结果"
 Response message: OK

sr.setResponseCodeOK(); //
设置JMeter GUI
"取样器结果"
Response code: 200

if_success
= true;

} catch
(Exception e) {

if_success =
false; // 请求失败

sr.setResponseMessage("server
error"); // 设置JMeter
GUI "取样器结果"
 Response message: server error

sr.setResponseCode("500"); //
设置JMeter GUI
"取样器结果"
Response code: 500

e.printStackTrace();

}
finally {

//
End

sr.sampleEnd();

//
setSuccessful 设置请求结果为 true--请求成功,JMeter查看结果树中会显示请求成功
   false--请求失败,JMeter查看结果树中会显示请求失败

sr.setSuccessful(if_success);

}

return
sr;

}

}

编写测试代码

package
testpkg;

import
testpkg.TestClass;

import
org.apache.jmeter.config.Arguments;

import
org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;

import
org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;

import
org.apache.jmeter.samplers.SampleResult;

public class
testDriver {

public static
void main(String[] args) {

TestClass obj
= new TestClass();

Arguments
params = new Arguments();

params.addArgument("id",
"1234567890");

JavaSamplerContext arg0 = new
;

obj.runTest(arg0);

}

}

5. 
步骤5 导出jar文件

File -> Export
-> Java -> JAR file,打开如下界面

如图,点击Next按钮,打开如下界面

如上图,选择要导出的类,然后选择JAR file文件保存路径,最后点击Finish即可。把导出的jar放入JMeter_home/lib/ext目录下,重启JMeter

6. 
步骤6 新建JMeter Java请求

右键线程组 添加->Sampler
-> Java请求

如上,选择要测试的类名,设置测试所需要参数(和其它参数一样,可以做成参数化)

运行,查看结果

Jmeter
控制台输出

 

JMeter 中实现发送Java请求的更多相关文章

  1. Jmeter性能测试实践之java请求

     前言 Apache Jmeter是开源.易用的性能测试工具,之前工作中用过几次对http请求进行性能测试,对jmeter的基本操作有一些了解.最近接到开发的对java请求进行性能测试的需求,所以需要 ...

  2. 【Jmeter测试】使用Java请求进行Dubbo接口的测试

    如何构建一个Dubbo接口测试的通用框架(https://github.com/nitibu/jmeter-dubbo-test)​从上面的流程我们可以看出,测试类大致的一个结构: 使用json文件来 ...

  3. Django中ajax发送post请求,报403错误CSRF验证失败解决办法

    今天学习Django框架,用ajax向后台发送post请求,直接报了403错误,说CSRF验证失败:先前用模板的话都是在里面加一个 {% csrf_token %} 就直接搞定了CSRF的问题了:很显 ...

  4. .net中如何发送HTTP请求网络资源

    应用场景 应该说只要是需要通过发送Http请求获取网络资源的地方都要使用它,网络资源可以是指以URI来表示的资源,比如web api接口等. HttpWebRequest .net2.0 ~ .net ...

  5. jmeter 开发自己的java请求 二次开发

    package test; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient. ...

  6. Jmeter发送Java请求

    1.创建一个Java工程 2.把Jmeter的lib\ext目录下的ApacheJMeter_java.jar.ApacheJMeter_core.jar文件添加进该项目的Build Path 3.创 ...

  7. Jmeter(一)发送http请求

    Jmeter中发请求的步骤 1.添加线程组 2.添加http消息头管理器 3.添加http请求 一.线程组: 1.添加路径: 2.字段解释 ①线程数(Number of Threads): : 设置发 ...

  8. 《使用Jmeter进行批量发送http请求》

    本文主要针对批量接口发送数据 一:接口测试的环境准备 1:JDK的安装:网上下载即可>1.6.0版本以上 2:jemeter工具的下载 (免安装):网上下载即可 3:插件的下载安装地址:http ...

  9. linux shell中curl 发送post请求json格式问题

    今天在linux中使用curl发送一个post请求时,带有json的数据,在发送时发现json中的变量没有解析出来 如下 curl -i -X POST -H 'Content-type':'appl ...

随机推荐

  1. 意料之外,情理之中,Spring.NET 3.0 版本发布-

    意料之外,情理之中,Spring.NET 3.0 版本发布- 备受社区和企业开发者广泛关注的Spring.NET在上周发布了3.0版本,并且目前已经保持着持续的更新,让我们一起来看一看他究竟发布了哪些 ...

  2. Python中变量的命名

    变量的命名 目标 标识符和关键字 变量的命名规则 0.1 标识符和关键字 1.1 标识符 标示符就是程序员定义的 变量名.函数名 名字 需要有 见名知义 的效果,见下图: 标示符可以由 字母.下划线 ...

  3. [原创]K8飞刀Final

    法律声明: 工具仅供安全研究或授权渗透,非法用途后果自负. 工具: K8飞刀Final作者: K8哥哥博客: https://www.cnblogs.com/k8gege简介: 一款多功能网络安全渗透 ...

  4. csv与xlsx导出

    一.csv与xlsx格式基本介绍       csv即comma seperate values - 逗号分隔值,文件以纯文本形式来存储表格数据,它可以由任意数目的记录组成,记录之间通过某种换行符来分 ...

  5. Linux编程 15 文件权限(用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage)

    一. 概述  在上一篇中讲到了与用户账户有关的二个文件passwd和shadow,以及useradd工具的介绍.这篇接着讲useradd+参数,删除用户,修改用户的演示. 1. 删除用户userdel ...

  6. Git命令速查

    Alias 下面的只是例子,想改成什么跟随自己的意愿即可. git config --global alias.st status //status 缩写成 st git config --globa ...

  7. linux平均负载的理解及原因排查

    当系统响应缓慢时,一般会用top或uptime命令查看系统负载是否过高. 例如输入uptime命令显示如下图,其中23:47:19表示现在的时间,up 260 days,14:39表示系统运行了多久, ...

  8. Go语言学习笔记(三) [控制结构、内建函数]

    日期:2014年7月21日   一.控制结构   1.Go中,只有几个控制结构,它没有do或者while循环,有for,灵活的switch语句和if,在switch中可以接受像for那样可选的初始化语 ...

  9. Java核心技术 对象与类

    对象与对象变量: 要想使用对象,就必须首先构造对象,并指定其初始状态,然后,对对象应用方法. 在Java中,使用构造器构造新实例.构造器是一种特殊的方法,用来构造并初始化对象. 在实际开发中,通常需要 ...

  10. vs 调试 iis中的网站

    打开网站,在vs中附加进程,选择w3wp.exe,如果不能下断点,设置一下pdb文件位置