dubbo接口功能介紹
客戶端輸入uncleyong(當然,也可以是其他字符串),服務端返回hello uncleyong
此dubbo接口開發:https://www.cnblogs.com/uncleyong/p/10732747.html
開發dubbo服務jmeter客戶端
idea中創建模塊dubbo_jmeter5
默認輸入uncleyong,也可以修改這個值
package com.uncleyong.dubbotest;
import com.uncleyong.dubbotest.service.SayHelloToClient;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class DubboJmeterNotFixArgs extends AbstractJavaSamplerClient {
String param = "UncleYong";
public Arguments getDefaultParameters(){
Arguments params = new Arguments();
params.addArgument("name", param);
System.out.println(params);
return params;
}
public void setValues(JavaSamplerContext args){
param = args.getParameter("name",param);
}
public SampleResult runTest(JavaSamplerContext args) {
setValues(args);
SampleResult sr = new SampleResult();
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "dubbo_jmeter.xml" });
sr.sampleStart();
context.start(); // 啟動上下文
SayHelloToClient say = (SayHelloToClient) context.getBean("sayhellotoclient");
String out = say.sayHello(param);
sr.setResponseData("From dubbo provider:" + out, null);
sr.setDataType(SampleResult.TEXT);
sr.setSuccessful(true);
return sr;
}
}
jmeter客戶端打jar包

項目的target目錄下

將上面的jar包復制到jmeter的ext目錄下,即:D:\apache-jmeter-5.1.1\lib\ext
jmeter測試dubbo接口
啟動zookeeper、provider
重新啟動jemter

添加線程組、java取樣器、查看結果樹后,
選擇上面編寫的類,展示了我們設置的參數名和參數值


運行腳本

運行結果,返回:From dubbo provider:hello, Uncleyong

修改參數值,改為jenkins


再次運行,返回:From dubbo provider:hello, jenkins

至此,jmeter測試dubbo接口的腳本開發完成。
