你的位置:首页 > Java教程

[Java教程]Jmeter软件测试3


 一直用Jmeter测试post接口,但报文信息都是明文方式,今天测试兄弟求助二进制报文如何使用Jmeter测试,查看了项目源码,报文中不仅采用二进制,而且还用java.util.zip进行了压缩,从晚上找的资料说是可以通过修改Jmeter配置实现,但测试并未成功,因此采用Jmeter定制Java请求方式实现,步骤如下:

1.新建Java工程

2.主要用到的jar包

3.新建代码如下:

 1 package com.test.jmeter; 2  3 import java.io.IOException;  4  5 import javacommon.util.ResultClass; 6 import javacommon.util.send.InnerSendZip; 7  8 import org.apache.http.client.ClientProtocolException;  9 import org.apache.jmeter.config.Arguments; 10 import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient; 11 import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext; 12 import org.apache.jmeter.samplers.SampleResult; 13 14 public class Jmeter_Byte extends AbstractJavaSamplerClient { 15 16 private static String label = "ByteResponse ";  //定义label名称,显示在jmeter的结果窗口17 private String url;18 private String data;19 20   public void setupTest() {21     // 定义测试初始值,setupTest只在测试开始前使用22     System.out.println("setupTest");23   }24 25   @Override26   public SampleResult runTest(JavaSamplerContext arg0) {27 28     url = arg0.getParameter("url");29     data = arg0.getParameter("data");30     SampleResult sr;31     sr = new SampleResult();32     sr.setSampleLabel(label);33     ResultClass resultClass = new ResultClass();34     sr.sampleStart();35     // 调用被压测接口的方法36     resultClass = InnerSendZip.sendData(url, data,8000,90000);37     if (resultClass.getResult() == 0) {38       sr.setSuccessful(true);39     }else {40       sr.setSuccessful(false);41     }42     sr.sampleEnd(); // jmeter 结束统计响应时间标记43     sr.setResponseCode(String.valueOf(resultClass.getResultCode()));//响应值44     sr.setResponseMessage(resultClass.getResultDesc());//响应信息45     return sr;46   }47 48   public void teardownTest(JavaSamplerContext arg0) {49     super.teardownTest(arg0);50   }51 52   public Arguments getDefaultParameters() {53     // 参数定义,显示在前台,也可以不定义54     Arguments params = new Arguments();55     params.addArgument("url","http://127.0.0.1:8080/Interface/api/CisInnerSync?platform=cis&correlateid=2fd5473db72740bfa18b68abc09409e9");56     params.addArgument("data","{\"areaNo\":\"TEST\",\"bit_rate\":\"1.5\",\");57     return params;58   }59 }

4.完成后打成jar包放入Jmeter {Jmeter}\lib\ext目录下

4.重启Jmeter,并新建测试线程

5.查看结果

 

 6.技术参考链接如下:

http://www.cnblogs.com/liu-ke/p/4325607.html