
本文共 3215 字,大约阅读时间需要 10 分钟。
JMeter 中实现发送Java请求
1. 步骤1 新建JAVA项目
File -> New -> Java Project
如上图,填写Project Name,然后Next,打开以JavaSettings界面
如上图,切换到Libraries标签页-> 选择Add Library -> UserLibray,点击Next 按钮,打开以下 User Libraries界面
如上图,点击 New ,弹出窗中输入自定义类库名称
选择定义类库(例中为JMeter Lib),然后点击Add JARS 按钮,添加$JMETER_HOME/lib目录下(包含子目录下)的jar包(为了避免包之间的依赖性问题,可以考虑全部添加进来)
完成后,点击OK按钮,返回如下界面
点击Finish,返回如下界面
点击Finish
2. 步骤2 新建JAVA包
右键src目录 -> New -> Package,打开如下界面
点击Finish,提交
3. 步骤3 新建JAVAClass
右键 包名 -> New ->Class,打开如下界面
点击Finish,提交
再新建一个testDriver JAVA Class
4. 步骤4 编写用例类
packagetestpkg;
importorg.apache.jmeter.config.Arguments;
importorg.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
importorg.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
importorg.apache.jmeter.samplers.SampleResult;
public class TestClass extends AbstractJavaSamplerClient{
privatestatic long start = 0;
privatestatic long end = 0;
privateString id = "0";
@Override
public void setupTest( {
// 开始时间
start =System.currentTimeMillis();
}
@Override
public void teardownTest( {
// 结束时间
end =System.currentTimeMillis();
// 总体耗时
System.err.println("costtime:" + (end - start) / 1000);
}
public Arguments getDefaultParameters() {
Arguments args = newArguments();
args.addArgument("id","123456789"); // 添加默认参数及对应值 //参数名称:id 参数值:123456789
returnargs;
}
@Override
public SampleResult runTest( {
id =arg0.getParameter("id");
booleanif_success = true;//测试结果标记位
SampleResultsr = new SampleResult(); // 为避免多线程问题,设置sr为局部变量
sr.setSampleLabel("; //设置采样标签,对应GUI聚合报告里的Label值
try{
//Start
sr.sampleStart(); //开始统计响应时间
//TODO
System.out.println(id);
//sr.setResponseData("datareturn by server", ""); //第一个参数设置JMeter GUI "查看结果树" 请求对应的"响应数据" // 执行压测前 建议注释掉
sr.setResponseData("datareturn by server", "utf-8"); //第二个参数 为编码,设置JMeter GUI "取样器结果" DataEncoding: utf-8 //第二个参数为 "",则表示默认为 GBK编码
sr.setDataType(SampleResult.TEXT);// 设置JMeter GUI"取样器结果" Datatype ("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("servererror"); // 设置JMeterGUI "取样器结果" 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);
}
returnsr;
}
}
编写测试代码
packagetestpkg;
importtestpkg.TestClass;
importorg.apache.jmeter.config.Arguments;
importorg.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
importorg.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
importorg.apache.jmeter.samplers.SampleResult;
public classtestDriver {
public staticvoid main(String[] args) {
TestClass obj= new TestClass();
Argumentsparams = 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控制台输出
发表评论
最新留言
关于作者
