2017-03-06 105 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

之前被初始化爲**。所以這是不可能完成在我目前的設置? –