2012-08-13 48 views
1

我對Jmeter很新。我需要Jmeter輸入數據文件的幫助。
這是我的情況。
我的測試數據文件的結構是這樣的:Jmeter參數化

Test Case Name = XXXXXX11 
RequestData = AAAAAAAAAA11 
Expected Result = BBBBBBBBB11 
Test Case Name = XXXXXX22 
RequestData = AAAAAAAAAA22 
Expected Result = BBBBBBBBB22 
and so on .... 

現在,我要發送HTTP請求,並驗證了利用JMeter(Maven的&持續集成)的預期。

我如何分析給定的文件,並驗證預期的結果?

我曾嘗試以下:

  • __StringFromFile - 但我不知道如何尋找具有請求數據或預期結果的行;
  • userParameter - 但不知道如何在運行時傳遞值。

可以在任何你幫幫我嗎?

+0

[得到的答案?](http://stackoverflow.com/faq#howtoask) – 2012-08-16 16:40:46

回答

1

你有每個文件的單測試用例(即單一的外觀「測試案例名稱」,...等。文件)?

如果是這樣,那麼你才能嘗試使用自定義插件Variables From CSV FileJmeter Plugins項目。

+0

真的非常感謝您尋找到。但是我的文本文件中沒有測試用例。有沒有一種方法可以找到以文本文件中的「Test Case Name」開頭的行? – 2012-08-13 20:01:34

+1

可以,例如,寫關於java/BeanShell的自己的解析器和[BeanShell的採樣(http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_Sampler)/ [預處理器(HTTP使用它:// jmeter.apache.org/usermanual/component_reference.html#BeanShell_PreProcessor)/ [PostProcessor](http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_PostProcessor)。但是這些與jmeter的內置功能相差甚遠。 – 2012-08-14 07:47:56

+1

在我的愚見中,更好的解決方案是1.對每個測試用例描述使用單獨的文件:因此每個條目在文件中都是唯一的,您可以使用變量從CSV文件插件並處理所有文件 - 循環中的測試用例;或2.對所有測試用例使用單個文件,但將其格式更改爲csv,例如, 「TestCaseNameValue,RequestDataValue,ExpectedResultValue」每個字符串 - 因此您可以在While Controller下使用[CSV數據集配置](http://jmeter.apache.org/usermanual/component_reference.html#CSV_Data_Set_Config)來讀取並提取所有條目直到EOF。 – 2012-08-14 07:55:24

1

我的建議是將文件轉換爲CSV(用任何你喜歡的分隔符)。第一行成爲您的標題,每增加一行就會成爲您想要傳遞或驗證的數據。例如:

Test Case Name|Request Data|Expected Result 
XXXXXX11|AAAAAAAAAA11|BBBBBBBBB11 
XXXXXX22|AAAAAAAAAA22|BBBBBBBBB22 

您可以使用CSV數據集配置您的測試計劃加載此數據。一旦你這樣做了,如果你將線程組設置爲永遠循環,你將能夠遍歷每一行數據。然後,您需要在測試用例中執行的操作是從csv文件中引用變量,如下所示: ${Test Case Name}

0

非常感謝你們! 我剛剛寫了一個bean shell腳本來解析CSV文件,並將所有請求&響應存儲在數組中,然後爲我的http採樣器周圍的每個循環創建一個。這符合我的要求。

Thread Group 
     Beanshell preprocessr (To parse my CSV and to store it in an array) 
     For each loop (loops thru the array) 
     http sample 
     response assertion 
     Results 
+1

我不確定這是最好的解決方案,因爲它在內存中存儲很多數據,隨着測試用例的增加,這種數據會增加。它還重新編寫了jmeter本地的行爲(csv解析)。還有一點,你不應該通過一些投票來獎勵那些讓你找到解決方案的答案。 – 2012-08-17 20:43:46

+0

我投了Alies Belik的答覆 – 2012-08-29 17:05:06