这就是我所处的情况:
我有一个使用Coherence
网格的网络服务来存储数据以获得更快的结果。网格包含特定的DTO
个对象 - 当新数据来自用户时,我会更新这些DTOs
。现在,我需要为此编写特定的JMeter测试。我可以添加一个EndPoint(Restful WS)来收集这些DTOs
以验证对象是否正在更新,但这有点混合了QA和Dev。
有没有办法使用JMeter直接连接到网格并查询我的对象?甚至可以通过任何方式创建一个独立的Java应用程序并通过Jmeter运行它(为查询添加特定的参数)来返回对象..
谢谢你们! NINN
编辑:用于收集连贯对象的java类
package disclosed.jmeter;
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 com.tangosol.net.CacheFactory;
import com.tangosol.net.NamedCache;
public class JmeterTest extends AbstractJavaSamplerClient{
@Override
public Arguments getDefaultParameters() {
// TODO Auto-generated method stub
return null;
}
@Override
public SampleResult runTest(JavaSamplerContext arg0) {
CacheFactory.getCluster().getMemberSet();
NamedCache cache = CacheFactory.getCache("myCache");
System.out.println("The value taken from the cache is: " + cache.get("message"));
SampleResult result = new SampleResult();
result.setResponseCode((String) cache.get("message"));
return result;
}
@Override
public void setupTest(JavaSamplerContext arg0) {
// TODO Auto-generated method stub
}
@Override
public void teardownTest(JavaSamplerContext arg0) {
// TODO Auto-generated method stub
}
}
答案 0 :(得分:1)
是的,您可以从JMeter查询任何服务,如果您有Java库来访问它,或者模拟原始TCP / UDP网络流量。
最好的方法是让现有的Java库访问服务。然后你可以在BeanShell Sampler中使用它,或者编写自定义的Sampler,这很容易。
更多细节在很大程度上取决于您选择的库。