jmeter2.5.1建立socket测试

本文介绍如何使用Eclipse和JMeter通过Java Sampler进行自定义性能测试。具体步骤包括创建Java工程、编写测试类、打包成JAR文件,并在JMeter中调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在eclipse中建立一个java工程,命名为jmeter,加入jmeter的两个包。
jakarta-jmeter-2.5.1\lib\ext\ApacheJMeter_core.jar
jakarta-jmeter-2.5.1\lib\ext\ApacheJMeter_java.jar

2、编写一个java测试类。

  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;
    
  import java.io.BufferedReader;
  import java.io.InputStreamReader;
  import java.io.PrintWriter;
  import java.net.*;
    
  /**
   *
   * @author howsky
   *
   */
  public class Test extends AbstractJavaSamplerClient {
   // Sock begin----------------------------------------------
   private Socket sid;
   private PrintWriter out;
   private BufferedReader in;
   private String ip;
      private String port;
   // Sock end------------------------------------------------
     
      private static String label = "howsky.net";
       
   // 测试结果
   private SampleResult sr;
     
   /**
    * 初始化
    */
   public void setupTest(JavaSamplerContext arg0) {  
          System.out.println("setupTest");  
      }
     
   /**
    * 设置请求的参数
    */
   public Arguments getDefaultParameters() {
          Arguments params = new Arguments();
          params.addArgument("ip", "192.168.0.18");
          params.addArgument("port", "8088");
          return params;
      }
     
   /**
    * 运行过程
    */
   @Override
   public SampleResult runTest(JavaSamplerContext arg0) {
       ip = arg0.getParameter("ip");  
          port = arg0.getParameter("port");   
          sr = new SampleResult();  
          sr.setSampleLabel(label);  
          try{  
              sr.sampleStart(); //记录程序执行时间,以及执行结果  
              //发送数据  
              String msg = "welcome to howsky.net";  
              System.out.println("begin");  
              sendMsg(ip, Integer.parseInt(port), msg);  
              sr.setSuccessful(true);  
              System.out.println("end");  
          }catch(Throwable e){  
              sr.setSuccessful(false);  
          }finally{  
              sr.sampleEnd();  
          }  
          return sr; 
   }
     
   /**
    * 结束
    */
   public void teardownTest(JavaSamplerContext arg0) {
      }
     
   /**
    * 发送消息
    * @param ip
    * @param port
    * @param msg
    * @throws Exception
    */
   private void sendMsg(String ip, int port, String msg) throws Exception{  
    sid = new Socket(ip, port);
    in = new BufferedReader(new InputStreamReader(sid.getInputStream()));
    out = new PrintWriter(sid.getOutputStream(), true);
    out.println(msg);
    in.readLine();
          System.out.println("success");  
      }
  }

3、右键点击工程jmeter,Export->Java,JAR file。

打包的时候注意,需要将包放置在jakarta-jmeter-2.5.1\lib\ext\目录下,才能被jmeter调用。

打包为D:\j2ee\jakarta-jmeter-2.5.1\lib\ext\howsky_socket.jar。

4、新建立一个测试计划。

比较好的JAVA压力测试和性能测试工具 - cyxu2004 - 博客

5、建立一个线程组。

比较好的JAVA压力测试和性能测试工具 - cyxu2004 - 博客

6、建立一个Java请求,在类名称的下拉框里,选择刚刚建立的那个Test类。

比较好的JAVA压力测试和性能测试工具 - cyxu2004 - 博客

7、建立一个查看结果树。

比较好的JAVA压力测试和性能测试工具 - cyxu2004 - 博客

比较好的JAVA压力测试和性能测试工具 - cyxu2004 - 博客

注:其中Ramp-up period 是线程运行之间间隔的时间

8、运行->启动->查看结果树。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值