基于网络开源代码开发的Protobuf协议采样器插件,用于通用的Protobuf协议测试
jmeter是一款使用广泛的测试软件, 为了支持Protobuf,故开发了此通用Protobuf插件(SGS对接FVP部分是Protobuf协议)。
以下展示JMeter Protobuf Sampler使用示例:
1.使用前准备
1.1安装JDK1.8,配置环境变量
1.2安装Jmeter 3.3(或更高),
1.3配置环境变量
2 . 将 Protobuf Sampler (下载)取样器jar包ApacheJMeter_ProtobufForJmeter.jar拷贝到 .."JMETER_HOME"\lib\ext目录中下。
3.打开JMeter,创建一个测试计划,添加线程组
4.选中【线程组】,添加Sampler下的 Protobuf Sampler
5.新增测试用例,选中Protobuf Sampler,右键添加查看结果树监听器,方便一会儿执行查看结果,如下图
monitorUrl:kafka地址,如:http://mommon-other.intsit.sfdc.com.cn:1080/mom-mon/monitor/requestService.pub
clusterName:集群名称,如:other
topicName:主题名称,如:FVP_PUSH_EXPRESS_ORIGINAL_HIVE_BOX
checkCode:校验码,如:K5Ot3B*!
Message:消息内容,json格式,如:
{
"waybill_no": "033405682773",
"zone_code": "755AU",
"op_code": "125",
"bar_opr_code": "",
"bar_scan_tm": "2018-10-08 15:55:38",
"extend_attach5": "852000104",
"bar_sn": "EOS-DSS-CORE"
}
6.查看测试结果,点击执行按钮,运行用例
package com.protobuf.jmeter;
import org.apache.jmeter.protocol.java.test.JavaTest;
import org.apache.jmeter.samplers.AbstractSampler;
import org.apache.jmeter.samplers.Entry;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.testelement.TestStateListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.protobuf.kafka.KafkaProtobufSender;
import com.protobuf.kafka.ProtobufProduce;
public class ProtobufSampler extends AbstractSampler implements TestStateListener {
private static final Logger LOGGER = LoggerFactory.getLogger(ProtobufSampler.class);
private static final Logger log = LoggerFactory.getLogger(JavaTest.class);
private static final long serialVersionUID = 1L;
/*private String MONITOR_URL;
private String CLUSTER_NAME;
private String TOPIC_NAME;
private String CHECK_CODE ;
private String DATA;*/
private String MONITOR_URL ="http://ip:port/mom-mon/monitor/requestService.pub";
private String CLUSTER_NAME = "other2";
private String TOPIC_NAME = "ESG_RMDS_CORE_ALL_USER_TOPIC";
private String CHECK_CODE = "nQEo5x9W";
private String DATA = "123456789000";
public ProtobufSampler(