使用java请求时,一般都会使用eclipse编写Java程序生成jar包(脚本),加入到jmeter中如(D:\apache-jmeter-3.1\apache-jmeter-3.1\lib\ext)中,本次就介绍一个“求和”的脚本
1.打开eclipse中,新建一个java项目:新建一个类继承 AbstractJavaSamplerClient,并将jmeter中lib的所有jar包导入项目中:
2.类中写代码,如下:
package com.jmeter_test;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; class Sum { public int sum(int a,int b) { return a+b; }}public class Jmeter_sum extends AbstractJavaSamplerClient { private String a; private String b; /** Holds the result data (shown as Response Data in the Tree display). */ private String resultData; // 这个方法是用来自定义java方法入参的。 // params.addArgument("num1","");表示入参名字叫num1,默认值为空。 //设置可用参数及的默认值; public Arguments getDefaultParameters() { Arguments params = new Arguments(); params.addArgument("num1", ""); params.addArgument("num2", ""); return params; } //每个线程测试前执行一次,做一些初始化工作; public void setupTest(JavaSamplerContext arg0) { } //开始测试,从arg0参数可以获得参数值; public SampleResult runTest(JavaSamplerContext arg0) { a = arg0.getParameter("num1"); b = arg0.getParameter("num2"); SampleResult sr = new SampleResult(); sr.setSampleLabel( "Java请求哦"); try { sr.sampleStart();// jmeter 开始统计响应时间标记 Sum test = new Sum(); // 通过下面的操作就可以将被测方法的响应输出到Jmeter的察看结果树中的响应数据里面了。 resultData = String.valueOf(test.sum(Integer.parseInt(a), Integer .parseInt(b))); if (resultData != null && resultData.length() > 0) { sr.setResponseData("结果是:"+resultData, null); sr.setDataType(SampleResult.TEXT); } System.out.println("求和计算结果是\t"+resultData); sr.setSuccessful(true); } catch (Throwable e) { sr.setSuccessful(false); e.printStackTrace(); } finally { sr.sampleEnd();// jmeter 结束统计响应时间标记 } return sr; } //测试结束时调用; public void teardownTest(JavaSamplerContext arg0) { } // main只是为了调试用,最后打jar包的时候注释掉。 public static void main(String[] args) { // TODO Auto-generated method stub Arguments params = new Arguments(); params.addArgument("num1", "2");//设置参数,并赋予默认值1 params.addArgument("num2", "2");//设置参数,并赋予默认值2 JavaSamplerContext arg0 = new JavaSamplerContext(params); Jmeter_sum test = new Jmeter_sum(); test.setupTest(arg0); test.runTest(arg0); test.teardownTest(arg0); }}
3.生成jar包,如下:
5.将jar包放入到jmeter如下目录中:D:\apache-jmeter-3.1\apache-jmeter-3.1\lib\ext
6.添加java请求,如下:(导入的jar包为sum.jar)
7.运行查看结果
8.下来的话,可以通过正则表达式或者http请求处理数据