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 @Override 26 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\",\"xmlPath\":\"ftp://ti111:123456@192.168.4.135/ADI/test/20161115/杭州/XML/第二次二十岁02.xml\",\"tsPath\":\"ftp://t1111:123456@192.168.4.135/ADI/第二次二十岁02.ts\",\"priviewTsPath\":\"\",\"imagePath\":\"ftp://tiest:123456@192.168.4.135/ADI/test/20161115/杭州/海报/第二次二十岁02.jpg\"}"); 57 return params; 58 } 59 }
4.完成后打成jar包放入Jmeter {Jmeter}\lib\ext目录下
4.重启Jmeter,并新建测试线程
5.查看结果
6.技术参考链接如下:
http://www.cnblogs.com/liu-ke/p/4325607.html