jmeter DUBBO Sample 傳遞、接收byte入參

一、傳入byte

1、在sample前新增一個beanshell,將入參做一下處理

jsonstr = vars.getObject("str").toString();
log.info("[INFO]  jsonstr  : " + jsonstr);
byteArr = jsonstr.getBytes();
byteArrStr = Arrays.toString(byteArr);
log.info("[INFO]  byteArrStr  : " + byteArrStr);
vars.putObject("byteArrStr", byteArrStr);

2、在sample裏直接使用 ${byteArrStr}

 

二、返回byte處理

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

log.info("Response: -------------------------------------------");
try{
    //get response
    String jsonContent =  prev.getResponseDataAsString();
    log.info("jsonContent:" + jsonContent);
    jsonContent = jsonContent.substring(1,jsonContent.length()-1);
    log.info("jsonContent:" + jsonContent);
    String[] byteStrArr = jsonContent.split(",");
    byte[] byteArr = new byte[byteStrArr.length];
    for (int i = 0; i < byteArr.length; i++) {
    	byteArr[i] = (byte) Integer.parseInt(byteStrArr[i]);
    }
    jsonContent = new String(byteArr, "UTF-8");
    log.info("Response:" + jsonContent);
    
    JSONObject response_object = new JSONObject(jsonContent);
    log.info("Dubbo 調用結果爲 : "+response_object);

}catch(e){
    log.error("caught exception: "+e);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章