1.背景
所有的練習(xí)性锭,都是訪問的禪道系統(tǒng)(自己在服務(wù)器上搭建)启涯。本次練習(xí)的主題是:從數(shù)據(jù)庫(kù)中獲取所有的用戶名和密碼整陌,然后將參數(shù)傳遞給登錄請(qǐng)求,進(jìn)行登錄脆侮。
需要了解的知識(shí)點(diǎn):
1.數(shù)據(jù)庫(kù)的連接及變量設(shè)置
2.循環(huán)控制器
3.配置元件Count(計(jì)數(shù)器)
4.__BeanShell()函數(shù)及基本的腳本編寫
5.__V()函數(shù)的使用(用于兩個(gè)變量的拼接)
2.Jmeter連接Mysql數(shù)據(jù)庫(kù)
1.參考文檔:http://jmeter.apache.org/usermanual/component_reference.html#JDBC_Connection_Configuration
Q:Database URL為什么添加了一串后綴呢锌畸?【?characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull】
A:因?yàn)樵谖业膕ql語句查詢出的結(jié)果中,包含了時(shí)間格式的數(shù)據(jù)時(shí)靖避,會(huì)出現(xiàn)錯(cuò)亂潭枣,故加上這個(gè)后綴。
2.在JDBC Request中添加sql語句幻捏,設(shè)置后面要引用的變量名盆犁。
3.查詢結(jié)果如圖:
3.取數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行參數(shù)化
在登錄時(shí),計(jì)劃通過讀取數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行參數(shù)化篡九,將上面的11條數(shù)據(jù)都傳遞下去谐岁。
1.方式一:采用__BeanShell函數(shù)獲取值,其中index是通過添加計(jì)數(shù)器count獲取的;
${__BeanShell(vars.getObject("result").get(${__intSum(${index},-1)}).get("account"))}
${__BeanShell(vars.getObject("result").get(${__intSum(${index},-1)}).get("password"))}
2.方式二:采用__V函數(shù)拼接2個(gè)變量伊佃。2個(gè)變量的拼接窜司,以下4種方式都是錯(cuò)誤的:
1.${account_index}
2.${account_${index}}
3.${account}_${index}
4.${__V(${account} _${index})}
正確的方式如下:
${__V(account _${index})}
3.結(jié)果如圖: