如何将Jmeter连接到Java类?

时间:2012-12-27 14:17:22

标签: java jmeter

我是Jmeter的新手。目前我已经在Jmeter中测试了Web服务调用。我已通过Web服务调用向服务器发送了请求。我的输入是xml文件及其加密形式。所以我在PostBody中给出了加密字符串。

我的问题是我无法在Jmeter中进行加密过程 所以我决定将jmeter连接到我的java类并发送到服务器。

Jmeter--->Java class--->server.

我使用过Jmeter 2.8

有没有可能将Jmeter连接到java类?

3 个答案:

答案 0 :(得分:2)

我不确定理解,但如果你想做的是以下内容:

  1. 加密一些XML
  2. 将其作为Raw Post Body传递给HTTP Sampler,它将调用您的webservice
  3. 然后这样做的答案如下:

    1. 在JMETER_HOME / lib文件夹中添加groovy-all.jar

    2. 在HTTP采样器上使用JSR223 Pre Processor,并输入以下Groovy代码:

      import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase;
      import org.apache.jmeter.protocol.http.util.HTTPArgument;
      
      HTTPSamplerBase httpSamplerBase = (HTTPSamplerBase) sampler;
      
      HTTPArgument argument = 
                  httpSamplerBase.getArguments().getArgument(0);
      
      String valueToEncrypt = argument.getValue();
      // Do you encryption here, in this example I put ENC for testing
      valueToEncrypt = "ENC"+valueToEncrypt;
      httpSamplerBase.getArguments().clear();
      httpSamplerBase.addNonEncodedArgument("", valueToEncrypt, "");
      
    3. HTTP Sampler中,将原始XML加载到Raw Post Body文本区域

    4. 计划将具有以下结构(HTTP镜像服务器仅用于我的测试):

      enter image description here

      注意:我使用当前的JMeter每晚构建,因此我有脚本编译缓存部分,该部分尚未提供,将在2.9中。而是将您的脚本放在外部文件中,并在“文件名”字段中引用它。

答案 1 :(得分:1)

jMeter可以谈论很多事情(参见Apache的this list)。一个是JMS,可能用于连接到您的Java服务器。或者http(它通常用于)。这完全取决于你的java类能够响应什么。

答案 2 :(得分:0)

您也可以制作一个java类的jar,并将其附加到您的测试计划中。然后,您可以使用groovy引擎从JSR223预处理器中引用它们。 Jmeter with lib added