Jmeter軟體測試3--發送二進位報文,jmeter3--
一直用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\",\"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