【问题标题】:Jmeter: set property for each loopJmeter:为每个循环设置属性
【发布时间】:2017-03-06 04:06:54
【问题描述】:

我正在尝试创建一个测试,该测试将根据存储在一个文件夹中的文件数量进行循环,然后根据文件名输出结果。我正在考虑使用他们的文件名作为结果的名称,所以为此,我在 BS preProcessor 中创建了类似的内容:

props.setProperty("filename", vars.get("current_tc"));

然后用它作为结果的名称:

C:\\TEST\\Results\\${__property(filename)}

“current_tc”是ForEach 控制器的输出变量名称。它在每个循环上返回不同的值。 e.g loop1 = test1.csv, loop2 = test2.csv ...

我预计结果名称将是 test1.csv、test2.csv .... 但实际结果只是 test1.csv 并且另一个文件的结果也在其中。我是 Jmeter 的新手。如果我犯了明显的错误,请告诉我。

Test Plan Image

【问题讨论】:

    标签: csv jmeter performance-testing beanshell


    【解决方案1】:

    设置属性的方式似乎没问题,问题是您在何处以及如何尝试使用此C:\\TEST\\Results\\${__property(filename)} 行,因此您的测试计划的快照将非常有用。

    同时,我会推荐以下内容:

    1. 检查 jmeter.log 文件中是否有任何可疑条目,如果出现问题 - 很可能您将能够使用该文件找出原因。通常它位于 JMeter 的“bin”文件夹中
    2. 使用Debug Sampler和View Results Tree监听器组合来检查你的${current_tc}变量值,可能是变量没有递增的情况。请参阅How to Debug your Apache JMeter Script 文章以了解有关故障排除技术的更多信息

    【讨论】:

    • 您好 Dmitri,感谢您的快速回答。我真的期待一两天有人会回答我的问题:)。无论如何,我上传了测试计划的截图。我在视图结果树中使用 C:\\TEST\\Results\\${__property(filename)} 作为文件名。我使用调试采样器,发现 current_tc 在每个循环中都在改变值。
    • 您将无法以这种方式使用侦听器,它们会在任何脚本预处理器之前初始化
    • 我明白了。所以这在我目前的设置中是不可能完成的?
    • 我建议保留单个 .jtl 文件,一旦您的测试完成,如果需要,您可以使用 Filter Results Tool 将其拆分为几个较小的文件。您可以使用JMeter Plugins Manager 安装该工具
    • 非常感谢!这就是我现在要做的事情
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    • 2013-12-24
    • 1970-01-01
    相关资源
    最近更新 更多