我想使用 JMeter 来测试 Java 服务。但是,我要测试的 URL 必须是动态生成的(时间戳、有效负载哈希等)。我创建了一个输出有效 URL 的自我可执行 jar。
java -jar file.jar
http://www.example.com/api?params=...
URL 每次迭代都会改变。有没有办法可以配置 JMeter 来运行 Jar 以获取它发出的每个 HTTP 请求的 URL?谢谢!
您需要使用以下组合:
细节:
鉴于您的系统路径中有 java 二进制文件,您需要以下内容:
在 Thread Group 下添加一个 OS Process Sampler
如果您运行您的 Thead Group,您应该会看到以下内容:
系统调用完成。过程输出: http ://example.com/api?params= ....
我相信你对某些东西感兴趣,它出现在“params =”之后
因此,获取此值添加一个正则表达式提取器后处理器作为 OS 进程采样器的子级,并具有以下详细信息:
这将提取 api?params=... 这样您就可以将其用作 HTTP 请求的路径 ${params}
要在 JMeter 中运行 jar 文件,请将您的 JAR 文件和所有依赖项放在 {JMeter_HOME}/lib/ext 文件夹中。将BeanShell 采样器添加到您的线程组以调用 Java 类中的方法。
您的 jar 不必位于 JMeter 的 lib/ext 文件夹中。在任何目录中为我工作