2011-07-29 44 views
0

我已經配置了JDBC連接到mysql。
我已經添加了JDBC採樣器和一個監聽器。
但我想用正則表達式提取器提取細節,然後進入foreach循環。
在ForEach循環中,我想執行一個HTTP請求。如何在JMeter中的JDBC請求採樣器中使用FOrEach循環和正則表達式提取器

我的結果窗口看起來像是:

empid empname empDesgination 
10   lee  jrtester 
10   lee  MURAEE 
123   lee  MURAEE 
1234567890 leeee MURALEE 
1234567890 lee  MURALEE 

請說明以下幾點:

  • 如何寫正則表達式提取(即..正則表達式)?
  • 如何從中提取?
  • 我應該在ForEach循環輸入變量和輸出變量中輸入什麼?

爲,所提供的信息,我已經對JDBC的工作,但它不提取數據並進入循環。你能否解釋一下我們編寫的正確表達式表達式來提取上述數據。我們將參考名稱設爲${VAR_out}用於Http請求採樣器。請使用Regex,ForEach和Http Sampler將我的完整流程展現出來。

請給我一個關於JDBC採樣器的簡單示例使用正則表達式提取器提取數據並進入ForEach循環。

+0

看看http://altentee.com/blogs/2010/dynamic-data-from-jmeter-jdbc-requests/ – 2011-12-12 06:33:14

回答

0

要寫一個正則表達式,請看這個奇妙的網站:http://www.regular-expressions.info/ Jmeter使用PERL它的正則表達式,你會發現你需要知道的一切。另請參閱manual for regular expression extractor關於如何設置控制器。如果你想循環播放每一個結果,你需要一個否定的匹配號碼(參見手冊)。

foreach controller manual起初可能會有些混亂。在ForEach Input Variable中 - 輸入您在正則表達式提取器中在Reference Name下聲明的變量。在輸出字段中,爲您的採樣器輸入變量參考。

粗略地說,這樣的事情:

Regex controller: 
     Reference Name: VAR_in 

For Each: 
    Input: VAR_in 
    Output: VAR_out 

Sampler: 
    reference ${VAR_out} 
5

我最近制定了這一點,請嘗試以下步驟:

  1. 創建您的HTTP請求拉下響應數據
  2. 創建正則表達式提取器作爲您的HTTP請求的子項。並設置以下
    • 設置你的參考名稱(變量名後來成爲腳本)
    • 設置你的正則表達式(有一些很好的幫助這裏:http://jmeter.apache.org/usermanual/regular_expressions.html
    • 設置你的模板(再次檢查網址以上爲模板上的信息)
    • 設置匹配號爲-1(這允許您將所有捕獲的結果保存到一個變量中)
  3. 現在在HTTP下面創建一個ForEach控制器將'輸入變量前綴'設置爲給定正則表達式提取器的參考名稱,輸出變量名稱'(任何你喜歡的東西(像tmpvar),並檢查'​​添加'_「之前號碼」複選框
  4. 在您的ForEach控制器下創建一個HTTP請求,並設置服務器或路徑您的varibale $ {tmpvar}並且應該爲找到的正則表達式提取器的每個命中運行HTTP請求。
+0

謝謝,這正是我一直在尋找 – M22an

相關問題