JMeter 中实现发送Java请求

简介: JMeter 中实现发送Java请求

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 控制台输出

 

目录
相关文章
|
1月前
|
Java
java原生发送http请求
java原生发送http请求
|
1月前
|
Java 开发者
java实现Http请求
java实现Http请求
15 0
|
2月前
|
编解码 测试技术 索引
性能工具之 Jmeter 使用 HTTP 请求编写 HLS 脚本
在我们简要介绍了 HLS 协议的基础知识,接下来我们详细介绍一种使用 Jmeter 编写压测 HLS 协议脚本的方法。
82 1
性能工具之 Jmeter 使用 HTTP 请求编写 HLS 脚本
|
5月前
|
XML JSON Java
Java实现post请求1688商品详情数据接口
Java实现post请求1688商品详情数据接口
59 0
|
3月前
|
监控 IDE Java
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
48 0
|
1月前
|
Java
Java编写Http的Get和Post请求示例代码
Java编写Http的Get和Post请求示例代码
32 2
|
4月前
|
测试技术 API
使用 jMeter 给 Spartacus SSR 发送 100 个并发的 SSR 请求,全部被 SSR 响应了
使用 jMeter 给 Spartacus SSR 发送 100 个并发的 SSR 请求,全部被 SSR 响应了
31 0
|
5月前
|
JSON 前端开发 JavaScript
Java接收前端请求体方式
Java接收前端请求体方式
43 0
|
5月前
|
Java Apache Spring
百度搜索:蓝易云【Java http 接口请求详解。】
通过以上示例,你可以根据需要选择合适的方式来进行 Java 中的 HTTP 接口请求,以便与其他服务进行数据交互。
39 0
|
5月前
|
Java 测试技术 持续交付
百度搜索:蓝易云【NetMock简介:简化 Java,Android和Kotlin多平台中的HTTP请求测试?】
使用NetMock,您可以在单元测试、集成测试和端到端测试中轻松地模拟和验证HTTP请求和响应,而无需实际发送请求到外部服务。这样可以提高测试的可靠性和可控性,并加快测试执行的速度。无论是在开发过程中还是在持续集成环境中,NetMock都可以帮助您更轻松地进行HTTP请求测试,提高代码质量和稳定性。
41 1