2017-03-06 81 views
0

我正在尝试创建一个测试,它将根据存储在一个文件夹中的文件的数量进行循环,然后根据文件名输出结果。我想用自己的文件名作为其结果的名字,所以对于这一点,我创建了BS预处理程序是这样的:Jmeter:为每个循环设置属性

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

回答

0

设置属性的方式似乎okayish,该问题是在哪里,以及你如何试图用这个C:\\TEST\\Results\\${__property(filename)}行,以便您的测试计划的快照将是非常有用的。

在此期间,我会建议如下:

  1. 检查jmeter.log文件任何可疑项,如果出了问题 - 最有可能,你将能够找出使用此文件的原因。通常它位于JMeter的“bin”文件夹中
  2. 使用Debug SamplerView Results Tree侦听器组合来检查您的${current_tc}变量值,也许这是变量未递增的情况。请参阅How to Debug your Apache JMeter Script文章以了解有关故障排除的更多信息
+0

嗨德米特里,感谢您的快速回答。我真的期待有一天或两天之前有人会回答我的问题:)。无论如何,我上传了测试计划的截图。我在视图结果树中使用C:\\ TEST \\ Results \\ $ {__ property(filename)}作为文件名。我使用调试采样器,发现current_tc正在改变每个循环中的值。 –

+0

您将无法以这种方式使用侦听器,它们在我看到的任何脚本预处理器 –

+0

之前被初始化为**。所以这是不可能完成在我目前的设置? –