微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JMeter 中实现发送Java请求

JMeter 中实现发送Java请求

 

1.  步骤1 新建JAVA项目

File -> New -> Java Project

JMeter_中实现发送Java请求


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

 

 

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

  

 

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

 

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

 

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

 

JMeter_中实现发送Java请求

 

点击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请求

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐