JMeter - 仅在 GUI 而不是 CLI 上执行特定组件

JMeter - Execute specific components only on GUI and not CLI

我添加了几个用于调试的组件,如 Debug SamplerView Results TreeJSR223 Sampler,它们在 GUI 模式下很有用,但我希望在 运行 加载时忽略它测试,

是否有只在GUI模式下执行Sampler/Listener而不在命令行/"load"模式下执行的选项?

我不确定这是否是您正在寻找的确切答案,但还是让我试试吧。我们知道 JMeter 脚本只不过是 xml 伪装和结构看起来像这样。

因此对于每个 Jmeter 组件,有 enable 属性 需要 true 以便它将作为 JMeter 测试计划的一部分执行。现在,如果我们可以更改一些可以作为参数传递的属性,那么我们可以在 运行 时禁用它们。 jmx 的变化会像这样反映...

如果您 运行 在非 GUI 模式下将此脚本附加 属性 作为参数传递,我们基本上可以实现我们想要的。

jmeter -n -t .\ExcludeJMeterComponent.jmx -l result.CSV -e -o "Output" -DenabledDebugComponents=false 

这种方法的问题是,如果您在 JMeter 中再次加载此脚本,这些手动编辑的值 jmx 将在您的下一次保存时 away/get 覆盖,但是如果您正在使用任何版本控制系统来跟踪您的 jmx 脚本 [您必须做的] 立即再次在脚本中添加此更改将非常容易。

一旦我的博客设置完成,我将 post 提供更多详细信息。

找到解决方法,将 CLI JMeter 属性 作为 -JignoreFirstSampler

发送

添加 If 控制器作为采样器的父级以排除检查是否 property is defined

 ${__isPropDefined(ignoreFirstSampler)}

The __isPropDefined function returns true if property exists or false if not.