0

这是我所处的情况:

我有一个 Web 服务,它使用Coherence网格来存储数据以获得更快的结果。网格包含特定DTO对象——当新数据来自用户时,我会更新这些DTOs. 现在,我需要为此编写特定的 JMeter 测试。我可以添加一个 EndPoint(Restful WS)来收集这些DTOs以验证对象是否正在更新,但这有点混合了 QA 和 Dev。

有没有办法使用 JMeter 直接连接到 Grid 并查询我的对象?甚至可以通过任何方式创建一个独立的 java 应用程序并通过 Jmeter 运行它(为查询添加特定参数)以返回对象..

多谢你们!尼恩

编辑:收集一致性对象的 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

    }

}
4

1 回答 1

1

是的,您可以从 JMeter 查询任何服务,如果您有 Java 库可以访问它,或者通过模拟原始 TCP/UDP 网络流量。

最好的方法是让现有的 Java 库访问服务。然后你可以从 BeanShell Sampler 中使用它,或者编写自定义的 Sampler,这很容易。

更多细节很大程度上取决于您选择的库。

于 2011-05-24T06:45:17.577 回答