Jmeter系列(31)- 獲取並使用 JDBC Request 返回的數據
如果你想從頭學習Jmeter,可以看看這個系列的文章哦
https://www.cnblogs.com/poloyy/category/1746599.html
前言
- Jmeter 使用 JDBC Request 獲取數據庫中數據,很多人都會用,因為測試中,有時候需要大量的用戶進行登錄,然後獲取數據庫中真實的數據用於測試
- 前面也詳細講到 JDBC Request 的具體使用,一般是通過 Variable names 和 Result variable name 來獲取返回的數據
- 這篇文章主要講的就是把 Variable names 和 Result variable name 獲取到的數據提取出來,給到 HTTP 請求使用
Variable names + Foreach控制器
線程組結構樹
JDBC Request
調試取樣器運行結果
有 100 條記錄
ForEach控制器
循環運行的結果( mobile:${mobile} )
Variable names + 循環控制器
和上面的栗子只是換了個控制器而已,沒太大變化
線程組結構樹
循環控制器
填寫 100,是代表循環100次
計數器
從 1 開始,遞增加到 100為止,每次遞增 1
- 初始值=1
- 每次增加 1
- 最大的值=100(包含)
- 新變量 num
循環控制器內的 Debug Sampler
${__V()} 是關聯函數,後面講到
循環運行的結果( mobile:${mobile} )
Result variable name + Foreach控制器
線程組結構樹
JDBC Request
正則提取器
重點
Applu to 選中 Jmeter Variable Name to use,因為要從 Jmeter Variables 中拿到 result_mobile 變量進行提取
調試取樣器運行結果
正則提取后的值是不是跟上面 Variable names 獲取的值列表很像,是的!然後再結合 ForEach控制器就好啦
ForEach控制器
變量前綴是正則提取器里的引用名稱
循環運行的結果( mobile:${mobile} )
Result variable name + 循環控制器
和上面的栗子只是換了個控制器而已,沒太大變化
線程組結構樹
循環控制器
填寫 100,是代表循環100次
計數器
用戶參數
重點一
- ${__BeanShell(vars.getObject(“result_mobile”).get(${num}).get(“mobile”))}
- ${__BeanShell()} :執行BeanShell腳本,一般比較短的腳本可以用此方法來寫,後面會再詳細講解這個函數
重點二
- vars.getObject(“result_mobile”).get(${num}).get(“mobile”)
- result_mobile:是一個數組,即 JDBC Request 里的 Result variable name,每個元素的格式都是 {mobile=158000480001}
- ${num}:上面計數器的值,每次遞增 1,這裡是數組下標的意思
- 總結:獲取 result_mobile 數組,每次取數組中第 num 個元素,從元素中取 mobile 鍵的值【這是固定寫法,只改Object 名、鍵名就行了】
循環運行的結果( mobile:${user_mobile} )
本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理
【其他文章推薦】
※為什麼 USB CONNECTOR 是電子產業重要的元件?
※網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!
※台北網頁設計公司全省服務真心推薦
※想知道最厲害的網頁設計公司"嚨底家"!
※新北清潔公司,居家、辦公、裝潢細清專業服務
※推薦評價好的iphone維修中心