1

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

是否有仅在 GUI 模式下而不是在命令行/“加载”模式下执行采样器/侦听器的选项?

4

2 回答 2

0

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

在此处输入图像描述

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

在此处输入图像描述

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

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

这种方法的问题是,如果您在 JMeter 中再次加载此脚本,这些手动编辑的值jmx 将在您下次保存时消失/获取覆盖,但如果您使用任何版本控制系统来跟踪您的jmx脚本 [这是您必须正在做] 很快就可以很容易地再次在脚本中添加这些更改。

建立博客后,我将发布此内容并提供更多详细信息。

于 2019-06-20T10:43:49.940 回答
0

找到了一种解决方法,将 CLI JMeter 属性作为 -JignoreFirstSampler 发送

添加 If Controller 作为采样器的父级以排除检查是否定义了属性

 ${__isPropDefined(ignoreFirstSampler)}

__isPropDefined 函数如果属性存在则返回 true,否则返回 false。

于 2021-05-05T04:47:31.863 回答