2016-02-12 43 views
0

我的腳本有很多動態變化的變量,我需要大量參數化。有什麼方法可以使我們自動化或最小化參數化。我正在使用CSV &正則表達式進行參數化。任何其他方式做同樣的事情? 在此先感謝。在JMeter中自動化參數化

回答

0

除了包含參數作爲測試輸入的CSV文件外,您還可以將輸入變量定義爲屬性。例如,如果customProperty在您的測試計劃的用戶定義變量部分中定義(測試計劃,Jmeter場景中的前1個元素,而不是用戶定義的變量樣本),則可以在任何位置訪問此值(即使在不同的線程)$ {__ P(customProperty)}

在這種情況下,你應該以下面的方式啓動的JMeter:

jmeter.bat -D CustomProperty的= customValue -t路徑\爲\您的\ JMeter的\ scenario.jmx(適用於Windows機器)。

對於自動化目標非常有用(例如,如果Jmeter由調度程序使用-n選項運行)。

如果您的參數在測試中生成,並且您只是想在不同線程之間傳遞它們而不將它們存儲在文件中,那麼屬性也很有用。與用戶定義的變量(基於每個線程處理)相反,作爲屬性存儲的值可以從任何線程訪問。

這就是你如何能做到這一點:

  1. 運行初始請求(一個或多個)。

  2. 使用正則表達式提取器從響應中提取變量。

  3. 使用以下代碼在BeanShell Sampler中將提取的值設置爲屬性:$ {__ setProperty(q,$ {q})};

  4. 無論你在哪裏都可以使用$ {__ P(q)}。

+0

如果我的輸入變量是已知的,這會很有幫助,但如果在運行時生成變量的值會怎麼樣。例如 - 我正在執行創建客戶的步驟,其中客戶ID是在提交詳細信息時生成的,同一個客戶ID用於處理進一步的功能。 –

+0

更新了我的答案。 –