0

我想使用 JMeter 来测试 Java 服务。但是,我要测试的 URL 必须是动态生成的(时间戳、有效负载哈希等)。我创建了一个输出有效 URL 的自我可执行 jar。

java -jar file.jar

http://www.example.com/api?params=...

URL 每次迭代都会改变。有没有办法可以配置 JMeter 来运行 Jar 以获取它发出的每个 HTTP 请求的 URL?谢谢!

4

3 回答 3

1

您需要使用以下组合:

  1. OS Process Sampler(生成实用程序 JAR)
  2. 正则表达式提取器(获取生成的 URL)

细节:

鉴于您的系统路径中有 java 二进制文件,您需要以下内容:

在 Thread Group 下添加一个 OS Process Sampler

  • 将命令设置为java(以完全确定输入 java 二进制文件的完整路径,即“d:\apps\java6\bin\java.exe”)
  • 在命令参数下添加以下内容:-jar * your.jar * EACH ON SEPARATE LINE,最好还是使用 jar 的完整路径。
  • 添加与 OS Process Sampler 处于同一级别的 View Results Tree 侦听器

如果您运行您的 Thead Group,您应该会看到以下内容:

系统调用完成。过程输出: http ://example.com/api?params= ....

我相信你对某些东西感兴趣,它出现在“params =”之后

因此,获取此值添加一个正则表达式提取器后处理器作为 OS 进程采样器的子级,并具有以下详细信息:

  • 参考名称 - 任何有意义的变量名称,让它成为“参数”
  • 正则表达式 - http://www.example.com/ (.*)
  • 模板 - $1$

这将提取 api?params=... 这样您就可以将其用作 HTTP 请求的路径 ${params}

于 2013-10-30T12:46:51.707 回答
0

要在 JMeter 中运行 jar 文件,请将您的 JAR 文件和所有依赖项放在 {JMeter_HOME}/lib/ext 文件夹中。将BeanShell 采样器添加到您的线程组以调用 Java 类中的方法。

于 2013-10-24T20:45:42.427 回答
0

您的 jar 不必位于 JMeter 的 lib/ext 文件夹中。在任何目录中为我工作

于 2016-02-17T14:31:26.330 回答