2011-01-24 46 views
9

我想創建JMeter測試並針對不同環境使用相同的測試-QA,Staging,Dev等。 我想動態更改IP地址,方法是更改​​CSV文件或傳遞該值通過ant腳本或手動通過命令提示符。不幸的是,我一直無法這樣做。測試不拿起從CSV文件或命令提示符下的值。JMeter動態插入服務器名稱或IP

可有人請幫助我。

在此先感謝。

+0

您是否得到了可以接受的答案? – BlackGaff 2011-02-14 15:53:14

回答

0

如果你看一下documentation,使用CSV加載在啓動變量是相當簡單:

創建一個包含用戶名和密碼,以逗號分隔的文本文件。把它和你的測試計劃放在同一個目錄下。

添加CSV數據集的配置元件的測試計劃。將變量命名爲USER和PASS。

在適當的採樣

與$ {USER}與$ {PASS}密碼替換登錄名

CSV數據集元素將讀取一個新的線路爲每個線程

重要需要注意的是最後一行 - 也許你在移動到一個新的線程組,但有你的變量都在一行。可替換地,它們具有在多個行上爲一組也將導致問題。

0

的CSV數據集是一個簡單的方法來改變很多價值。

如果你不得不在命令行做的願望,你可以設置域名和登錄憑證屬性,然後在命令行中定義屬性

10

我通常是一個HTTP請求默認值元素添加到測試並手動更改它。

Selecting an HTTP Request Defaults

enter image description here

否則自動化,您可以使用腳本修改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> 
3

在您的測試,你可以使用的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如果不定義

1

首先,你應該把你保存的測試腳本文件,CSV文件。通常情況下,測試腳本可以像jmx擴展名一樣保存,並將您的csv文件放在它的同一目錄中。

內容CSV文件如下:

url;www.test123.com 
url;www.test1234.com 
url;www.test12345.com 

注意,在線程組的配置,線程數必須在csv文件的行最小數量。根據上面的CSV文件,我們應該在線程組中定義最少3個線程。

此配置後,JMeter會自動執行一個線程調用時HTTP請求的默認配置每次。

CSV數據集配置

enter image description here

HTTP請求默認值

enter image description here

HTTP請求(唯一路徑設置)

enter image description here

正則表達式提取(可選找到具體的迴應)

enter image description here

寫發現正則表達式的結果到一個文件中(可選)

enter image description here

來源:http://www.codesenior.com/en/tutorial/JMeter-Dynamically-Change-Server-Name-Using-CSV-Data-File