2017-01-17 145 views
1

我有根文件夾,它是id。要進入任何文件夾,我需要使用Json在其正文中創建POST請求,其中包括我想要訪問的文件夾的ID。作爲POST請求後的響應,我正在獲取文件夾列表。接下來的問題是 - 如何使用WHILE Con​​troller和POST請求迭代整個文件夾樹(訪問每個文件夾)?使用Jmeter請求循環遍歷文件夾和子文件夾

+0

請用2個JSON響應來更新你的問題:1.當有文件夾時2.當沒有文件夾(你點擊葉文件夾),所以我們可以拿出相關的While Controller條件。同時檢查[在JMeter中使用While控制器](https://www.blazemeter.com/blog/using-while-controller-jmeter)文章。 –

+0

@Dmitri除了我有文件夾中的文件夾。所以,當我在JSON響應中沒有文件夾時(我在葉文件夾中),我仍然有文件列表。所以我的迴應是相同的,但在結果數組我沒有文件夾ID。 – neckobik

回答

0

用Jmeter實現遞歸是非常困難的。所以我用List來存儲我的子文件夾的列表,並且當我訪問了所有的子文件夾列表項時,我將它從主List中刪除。這對於不大量的文件夾樹級別可以正常工作。 BeanShell被用來描述邏輯。

0

遵循以下步驟:

  1. 首先,添加HTTP Request採樣,建立與父文件夾ID POST請求。 (請參考image1)
  2. Regular Expression Extractor作爲孩子添加到HTTP採樣器上方(請參閱image2)。配置正則表達式提取器以從HTTP響應中捕獲所有子文件夾ID。 (參照imag2)
  3. 添加For Each Controller通過所有捕獲的子文件夾的ID進行迭代。(參照圖像3)
  4. 添加HTTP取樣器作爲子爲每個控制器。 (參考image4)
  5. 添加Debug Sampler(瞭解變量值,使用正則表達式捕獲)和View Results Tree偵聽器(捕獲HTTP請求和響應)來調試腳本。一旦腳本正在工作,請將其刪除。

以下圖片以google.com爲例生成。請根據您的Web應用程序更改值。

IMAGE1: enter image description here

圖像2: enter image description here

的Image3: enter image description here

圖像4: enter image description here

圖像5: enter image description here

+0

好吧,只有文件夾樹有一個級別,你的解決方案纔是好的。根文件夾和根文件夾中的文件夾。但是,如果我們有更多的級別,您將無法使用您提供的解決方案訪問Root子文件夾的每個子文件夾。 – neckobik

+0

這是遞歸問題。很難在我的最後模擬出問題。你可以分享網址嗎? –

相關問題