/**
*JMeter Java Sampler介绍
*setupTest做些初始化的工作,每个线程只执行一次
*teardownTest做些清理工作,每个线程只执行一次
*runTest具体的测试执行工作,每个并发每次循环都将执行一次
**/
//继承AbstractJavaSamplerClient
public class hessianTest extends AbstractJavaSamplerClient{
//hessian调用地址
private static String url = "http://10.20.147.182:8080/hessian/remoting/userService"
MyService collect = null
HessianProxyFactory factory = new HessianProxyFactory()
public int id
@Override
public void setupTest(JavaSamplerContext arg0) {
//获取jmeter传入参数
id=arg0.getIntParameter("id")
try {
collect = (MyService) factory.create(
MyService.class, url)
} catch (MalformedURLException e) {
e.printStackTrace()
}
}
@Override
public SampleResult runTest(JavaSamplerContext arg0) {
SampleResult sp = new SampleResult()
sp.sampleStart()
User rt = null
try {
rt = collect.getUser(id)
} catch (Exception e) {
sp.sampleEnd()
sp.setSuccessful(false)
return sp
}
sp.sampleEnd()
if(rt.getId()==id)
sp.setSuccessful(true)
else
sp.setSuccessful(false)
return sp
}
@Override
public void teardownTest(JavaSamplerContext context) {
super.teardownTest(context)
}
}
1.安装MQTT插件mqtt-xmeter-jar-with-dependencies
2.添加取样器
这里qos:0、1、2不多说,要说的是
1.Sample on 这里要选择number of xxxx,这个就会一直等待直到订阅有收到内容位置(这样放在一个循环里很好用,不会说订阅收不到)
2.Debug response 打钩后,在你运行的时候可以在响应数据上看到数据(有场景是你的发布需要去到订阅到的信息,解析后发布的)
这里Response Body就能够看到订阅到的消息
这个结构是我要先获取订阅消息,然后把订阅消息提取出来发布。先运行Jmeter然后到订阅的时候就一直等待,我网站点击后(也可以做个Http接口访问操作),网站发布一条消息到我这,我订阅到了,然后取出订阅里的东西,组装后发布。
如果订阅的消息是加密的?我还不懂如何处理。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)