3

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

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

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

我用过 Jmeter 2.8

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

4

3 回答 3

2

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

  1. 加密一些 XML
  2. 将其作为原始帖子正文传递给 HTTP 采样器,该采样器将调用您的网络服务

那么答案如下:

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

  2. 在 HTTP 采样器上使用JSR223 预处理器,并放入以下 ​​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 文本区域中

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

在此处输入图像描述

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

于 2012-12-27T15:27:39.933 回答
1

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

于 2012-12-27T14:22:11.050 回答
0

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

于 2018-05-29T06:42:52.450 回答