Jmeter 參數化請求執行個體

來源:互聯網
上載者:User

Jmeter 參數化請求執行個體

Jmeter 參數化請求執行個體

在jmeter中的請求可以參數化,其中參數化的方式有4種:

1.CSV Data Set Config

2.資料庫

3.使用者自訂變數

4.用jmeter中的函數擷取參數值

第一種方式:CSV Data Set Config

1.建立一個data.txt檔案,內容如下:

101010100,北京

101010200,海澱

101010300,朝陽

請求天氣的URL為:GEThttp://www.weather.com.cn/weather/101010100.shtml

2.建立

2.1 線程組

2.2 添加CSV Data Set Config

 

 

2.3 HTTP請求

 

 

伺服器名稱或IP:www.weather.com.cn

協議為: http 方法為:GET

路徑為: /weather/${citycode}.shtml 其中${citycode}是引用CSV Data中citycode

2.4 添加斷言 ——斷言內容為${city} ,是引用CSV Data中city

2.5 添加監控——添加查看結果樹和彙總報告

2.6 運行並查看結果

第二種方式:資料庫

添加:

1.線程組

2.JDBCConnection Configuration

3.JDBC Request 請求 使用者id 為2的使用者名稱和性別 命令為:select concat(name,sex) from UserInfo where userid="2";

其中concat是把name和password串連起來,然後方便Regex進行提取

4.Regex提取器

 

 

Regex填寫:

Apply to: 預設即可

要檢查的欄位:主體等選擇,一般選擇主體,即伺服器返回給jmeter的頁面主體資訊

引用名稱:定義的參數名稱,在後面步驟時可引用

Regex:Regex中()括起來的部分就是要提取的。

模板:$1$代表只有一組資料,$1$$2$代表有兩組資料

匹配數字:0代表隨機取值,1代表全部取值,通常情況下填0

預設值:如果參數沒有取得到值,那預設給一個值讓它取

5.針對上一級資料庫請求返回的結果,添加查看結果樹,JDBC Request返回正確後,再建立HTTP請求,引用後置處理器取出的參數 name,引用方式${name}

name sex

liming female

 

 

7.針對HTTP請求添加查看結果樹,運行後,查看結果

 

 

第三種方式:使用者自訂變數

1.添加HTTP請求,引用 使用者自訂的變數 ${searchword} 和${ts}

 

 

2.添加使用者自訂變數( 添加-配置原件-自訂變數)

 

 

3. 運行查看結果

 

 

第四種方式:使用Jmeter內建的函數擷取參數值

Jmeter中可以產生值的函數有:__Random( , , ),__threadNum,__CSVRead( , ),__StringFromFile( , , , )

各函數調用方法如下:

1)__Random( , , ),擷取值的方式:${__Random( param1,param2 ,param3 )},param1為隨機數的下限,param2為隨機數的上限,param3為儲存隨機數的變數名,是選填項。所以,也還可以這樣調用此函數:_Random(param1,param2,param3),然後再取param3的值。

2)__threadNum,擷取值的方式:${__threadNum},這個函數沒有任何參數,它用於得到當前啟動並執行線程編號。

3)__CSVRead( , ),擷取值的方式:${__CSVRead(param1,param2)},param1是檔案名稱,param2是檔案中的列(列數從0開始)。具體操作見csv資料提取部分的說明。

4)__StringFromFile( , , , ),擷取值的方式:${__StringFromFile(param1,param2,param3)},param1是檔案名稱,param2、param3為選填項:param2—儲存結果的變數,param3—檔案開始列,網上找到一點此函數的用法,來自:

1.函數:${_StringFromFile(檔案名稱.dat)}

2.外部檔案的格式必須為.dat

3.預設讀取位置為/bin下,也可以自己設定檔案存放路徑,如:${_StringFromFile(e:user.dat)},從e盤下讀取user.dat檔案中的資料

4.每次讀取檔案中的一行

5.如果我有多個user檔案,想一起讀取,檔案名稱分別為user1 user2。函數寫為:${_StringFromFile(user#.dat,,1,2)},從預設目錄下讀取user1和user2的檔案

6.如果一個檔案想讀取多次,可以寫成:${_StringFromFile(user.dat,,,2)},user1檔案讀取2次

]

【說明】關於Jmeter的函數使用,可以用Jmeter的函數助手對話方塊:點擊Jmeter的“選項”,選擇“函數助手對話方塊”(或者使用快速鍵“Ctrl+F”),在“選擇一個功能”的下拉框中選擇你所要是有的函數,在函數參數列表的“值”這一欄,填寫好相應的參數值,點擊按鈕【產生】,就可以拷貝產生的函數字串進行使用了。用函數助手產生函數__Random字串的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.