我想創建JMeter測試並針對不同環境使用相同的測試-QA,Staging,Dev等。 我想動態更改IP地址,方法是更改CSV文件或傳遞該值通過ant腳本或手動通過命令提示符。不幸的是,我一直無法這樣做。測試不拿起從CSV文件或命令提示符下的值。JMeter動態插入服務器名稱或IP
可有人請幫助我。
在此先感謝。
我想創建JMeter測試並針對不同環境使用相同的測試-QA,Staging,Dev等。 我想動態更改IP地址,方法是更改CSV文件或傳遞該值通過ant腳本或手動通過命令提示符。不幸的是,我一直無法這樣做。測試不拿起從CSV文件或命令提示符下的值。JMeter動態插入服務器名稱或IP
可有人請幫助我。
在此先感謝。
如果你看一下documentation,使用CSV加載在啓動變量是相當簡單:
創建一個包含用戶名和密碼,以逗號分隔的文本文件。把它和你的測試計劃放在同一個目錄下。
添加CSV數據集的配置元件的測試計劃。將變量命名爲USER和PASS。
在適當的採樣
與$ {USER}與$ {PASS}密碼替換登錄名CSV數據集元素將讀取一個新的線路爲每個線程
重要需要注意的是最後一行 - 也許你在移動到一個新的線程組,但有你的變量都在一行。可替換地,它們具有在多個行上爲一組也將導致問題。
的CSV數據集是一個簡單的方法來改變很多價值。
如果你不得不在命令行做的願望,你可以設置域名和登錄憑證屬性,然後在命令行中定義屬性
我通常是一個HTTP請求默認值元素添加到測試並手動更改它。
否則自動化,您可以使用腳本修改JMX文件。
編輯實際上,您可以使用ant過濾器在構建時動態更改此設置。例如,使用的<filter token="SERVER" value="${server}"/>
濾波器和copy
目標上的文件過濾下面將讓你將使用正確的服務器一個新的jmx文件。
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="HTTPSampler.domain">@[email protected]</stringProp>
<stringProp name="HTTPSampler.port"></stringProp>
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path"></stringProp>
</ConfigTestElement>
在您的測試,你可以使用的JMeter屬性 - 然後你可以在命令行開關這些屬性。
看看該文檔的這一部分: http://jmeter.apache.org/usermanual/test_plan.html#using_variables
這部分也是有幫助的: http://jmeter.apache.org/usermanual/functions.html#__P
如果你想改變主機名,你可以按照這個辦法:
定義命令行中的屬性值:
jmeter -Jhostname1 = www.realhost.edu
取在測試本身的價值,提供了一個默認如果沒有可用的:
$ {__ P(主機名,www.dummy.org)} - 屬性主機名的返回值www.dummy.org如果不定義
首先,你應該把你保存的測試腳本文件,CSV文件。通常情況下,測試腳本可以像jmx擴展名一樣保存,並將您的csv文件放在它的同一目錄中。
內容CSV文件如下:
url;www.test123.com
url;www.test1234.com
url;www.test12345.com
注意,在線程組的配置,線程數必須在csv文件的行最小數量。根據上面的CSV文件,我們應該在線程組中定義最少3個線程。
此配置後,JMeter會自動執行一個線程調用時HTTP請求的默認配置每次。
CSV數據集配置
HTTP請求默認值
HTTP請求(唯一路徑設置)
正則表達式提取(可選找到具體的迴應)
寫發現正則表達式的結果到一個文件中(可選)
來源:http://www.codesenior.com/en/tutorial/JMeter-Dynamically-Change-Server-Name-Using-CSV-Data-File
您是否得到了可以接受的答案? – BlackGaff 2011-02-14 15:53:14