2

我编写了一个包含数百个 HTTP 采样器/断言的 JMeter 测试计划。当 JMeter 执行每个 HTTP 采样器时,我希望它在执行前和执行后运行 OS Process Sampler(基本上调用脚本以将 HTTP 采样器测试用例的起点和终点写入其他集成系统上的远程日志文件,以便我知道哪个日志对应于执行的 HTTP 采样器)。我不想将每个 HTTP 采样器与 OS 进程采样器夹在中间。我想知道是否有一种方法可以让 JMeter 在每次运行 HTTP 采样器时在后台执行前置和后置 OS 进程采样器,而无需将它们显式添加到测试计划层次结构中。所以,我目前在测试计划树中有:

  • Pre-OS 进程采样器(显式)
    • HTTP 采样器 #1
    • 断言#1
  • Post-OS Process Sampler(显式)
  • Pre-OS 进程采样器(显式)
    • HTTP 采样器 #2
    • 断言#2
  • Post-OS Process Sampler(显式)

但我想要:

  • Pre-OS Process Sampler(在后台调用)
  • Post-OS Process Sampler(在后台调用)
  • HTTP 采样器 #1
    • 断言#1
  • HTTP 采样器 #2
    • 断言#2

感谢您的任何指导!

4

1 回答 1

0

我不确定您尝试做的是正确的方法,因为它会对托管 jmeter 的机器的性能产生负面影响。

我建议你用不同的方法:

  • 启动一个侦听器线程来处理日志消息的发送,如果可能,尝试找到比通过 java api 或 webservice 启动进程更好的方法
  • 使用 jsr223 + groovy 使用前/后处理器将消息发送给它

会轻很多

你可以看看:

并实施您自己的启发:

于 2014-08-21T09:49:35.883 回答