作為一名測試菇夸,構(gòu)造測試數(shù)據(jù)是再正常不過的事了,把我能想到的幾種列了下
1伤为、通過界面操作:時(shí)間較長
2袱耽、直接插表:寫好insert語句批量執(zhí)行
3杀餐、寫存儲過程:對數(shù)據(jù)庫的掌握要求有點(diǎn)高
4、借助Jmeter:適用大數(shù)據(jù)朱巨,通過并發(fā)來實(shí)現(xiàn)
下面就結(jié)合Jmeter操作下
一史翘、下載驅(qū)動包
在使用之前,需要先下載與數(shù)據(jù)庫對應(yīng)的驅(qū)動包
這里以 mysql 為例蔬崩,我使用的驅(qū)動包是 mysql-connector-java-5.1.7-bin.jar恶座,下載后放到 jmeter 的 lib 目錄下,重啟 jmeter 生效沥阳。
(當(dāng)然跨琳,不放到目錄也是可以的,需要每次在測試計(jì)劃中導(dǎo)包)
二桐罕、JDBC連接配置
在發(fā)送 JDBC 請求之前脉让,需要通過 JDBC Connection Configuration 元件配置數(shù)據(jù)庫的相關(guān)信息
如上圖所示,需要注意的有兩點(diǎn):
Variable Name for created pool:連接池的變量名功炮, JDBC Request 中的連接池變量名一定要和這里配置的一致溅潜;
Database Connection Configuration:
1、url 格式:
單條SQL語句:jdbc:mysql://ip:port/dbname
多條 sql 語句:jdbc:mysql://ip:port/dbname?allowMultiQueries=true 薪伏。
2滚澜、JDBC Driver class 選擇與數(shù)據(jù)庫對應(yīng)的驅(qū)動
3、Username:登錄數(shù)據(jù)庫的用戶名
4:Password:登錄數(shù)據(jù)庫的密碼
5嫁怀、其它項(xiàng)都按默認(rèn)值即可
補(bǔ)充:不同數(shù)據(jù)庫的配置如下所示:
三设捐、添加JDBC Request
在這里寫 sql 語句,實(shí)現(xiàn)增刪改查塘淑,如下圖所示:
注意上圖中的變量名稱要跟 JDBC Connection Configuration 中的變量名稱一樣萝招。
Query Type:不同語句對應(yīng)不同的 Query Type
1、單條查詢語句
Query Type:Select Statement
2存捺、多條查詢語句
Query Type:Callable Statement
3槐沼、增刪改語句
insert 、delete 語句使用的 Query Type 與 update 語句的一樣
- 單條 sql 的 Query Type:Update Statement
- 多條 sql 的 Query Type:Callable Statement
4捌治、參數(shù)化 sql 語句
如何對變量進(jìn)行參數(shù)化的具體操作請閱讀之前的文章:http://www.reibang.com/p/755b3c2e4dd3
查詢:
select xxx from table where id=\${id};
更新:
update table set xxx=\'\${xxx}' where id=\${id};
插入:
insert into table(a,b,c) values(\${a},unix_timestamp(),'${c}');
注意點(diǎn):參數(shù)化的字段為字符型時(shí)岗钩,需要加單引號,否則會提示"Unknown column"
如圖所示:
5肖油、占位符語句
select * from table where id = ? and xxx = ?;
(用英文狀態(tài)下的? 代替 where 條件值凹嘲;)
- Parameter values :? 代表的是字段值,多個值用逗號分隔构韵;
- Parameter types :參數(shù)值的類型周蹭,不管什么類型都寫成 varchar,幾個參數(shù)就寫幾個疲恢,多個值用逗號分隔凶朗;
- Query Type:Prepared Update Statement 或 Callable Statement