java jmeter_JMeter 中实现发送Java请求

本文详细介绍了如何在JMeter中实现发送Java请求的步骤,包括新建Java项目,添加JMeter库,创建Java类,编写测试用例,导出JAR文件并将其放入JMeter的lib/ext目录,最后在JMeter中配置Java请求并运行测试。
摘要由CSDN通过智能技术生成

JMeter 中实现发送Java请求

1. 步骤1 新建JAVA项目

File -> New -> Java Project

a4c26d1e5885305701be709a3d33442f.png

a6279f0425fcc815881c79113b7e4e0d.png

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

Settings界面

e9a1d2bb1f01d7df9218a9f5672c1a0f.png

如上图,切换到Libraries标签页

-> 选择Add Library -> User

Libray,点击Next 按钮,打开以下 User Libraries界面

8e8847679dca2162390d0972c112f8f9.png

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

选择定义类库(例中为

JMeter Lib),然后点击

Add JARS 按钮,添加$JMETER_HOME/lib

目录下(包含子目录下)的jar包(为了避免包之间的依赖性问题,可以考虑全部添加进来)

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

cd89c6c38872963d0a0c1a73edc24d01.png

a4c26d1e5885305701be709a3d33442f.png

点击Finish,返回如下界面

68737bd72a26a8f5070cef6ecf0d5742.png

点击Finish

2.

步骤2 新建JAVA包

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

fc128d45487aba481a29c5ad0787f6f5.png

点击Finish,提交

3.

步骤3 新建JAVA

Class

右键 包名 -> New ->

Class,打开如下界面

b380547e68595bfb157681f80cec844e.png

点击Finish,提交

再新建一个testDriver JAVA Class

32857bd3fe6bae4d834fcc2e9dae20d5.png

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,打开如下界面

2072688a91a8bbde023af98933babef2.png

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

3a1e7ec037179655061677a88ed987da.png

94ae515ac5fe20df856b115ecc73d81d.png

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

6.

步骤6 新建JMeter Java请求

右键线程组 添加->Sampler

-> Java请求

ffbd3b835f44f9b9f85a949e0479b2d1.png

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

运行,查看结果

93335cc7100d43149e654510ead1a89c.png

Jmeter

控制台输出

a4c26d1e5885305701be709a3d33442f.png0f7421dd3882aba4d93166def430fe53.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值