Jmeter取數據庫數據進行參數傳遞


Jmeter取數據庫數據進行參數傳遞

https://www.jianshu.com/p/256be580bb14?utm_campaign=maleskine&utm_content=note&utm_medium=pc_all_hots&utm_source=recommendation

 

 

1.背景

所有的練習,都是訪問的禪道系統(自己在服務器上搭建)。本次練習的主題是:從數據庫中獲取所有的用戶名和密碼,然后將參數傳遞給登錄請求,進行登錄。
需要了解的知識點:

1.數據庫的連接及變量設置
2.循環控制器
3.配置元件Count(計數器)
4.__BeanShell()函數及基本的腳本編寫
5.__V()函數的使用(用於兩個變量的拼接)

2.Jmeter連接Mysql數據庫

1.參考文檔:http://jmeter.apache.org/usermanual/component_reference.html#JDBC_Connection_Configuration

 
1jmeter連接mysql數據庫.png

Q:Database URL為什么添加了一串后綴呢?【?characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull】
A:因為在我的sql語句查詢出的結果中,包含了時間格式的數據時,會出現錯亂,故加上這個后綴。

2.在JDBC Request中添加sql語句,設置后面要引用的變量名。

 
圖片.png

3.查詢結果如圖:

 
圖片.png

3.取數據庫數據進行參數化

在登錄時,計划通過讀取數據庫的數據進行參數化,將上面的11條數據都傳遞下去。
1.方式一:采用__BeanShell函數獲取值,其中index是通過添加計數器count獲取的;

${__BeanShell(vars.getObject("result").get(${__intSum(${index},-1)}).get("account"))}
${__BeanShell(vars.getObject("result").get(${__intSum(${index},-1)}).get("password"))}

 
圖片.png

2.方式二:采用__V函數拼接2個變量。2個變量的拼接,以下4種方式都是錯誤的:

1.${account_index}
2.${account_${index}}
3.${account}_${index}
4.${__V(${account} _${index})}

正確的方式如下:

${__V(account _${index})}

 
圖片.png

3.結果如圖:

 
圖片.png


作者:樂大爺L
鏈接:https://www.jianshu.com/p/256be580bb14
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM