由於項目的緣由,假設咱們要實現以下要求:從數據庫的用戶表裏獲取用戶信息,並做爲參數所有傳遞給登陸請求,分別完成登陸操做。java
01Jmeter鏈接數據庫mysql
一、添加JDBC Connection Configurationsql
(右鍵測試計劃-->配置元件-->JDBC Connection Configuration)數據庫
DataBase URL: oop
jdbc:mysql://192.168.88.130:3306/dataname?useUnicode=true&characterEncoding=utf-8測試
1)192.168.88.130:3306爲數據庫的地址和端口號;dataname爲數據庫名編碼
2)useUnicode=true&characterEncoding=utf-8 指定字符的編碼解碼格式utf-8spa
JDBC Driver Class :
線程
com.mysql.jdbc.Driver 此爲mysql數據庫的驅動3d
Username: 數據庫的登陸用戶名
Password: 數據庫的密碼
下載好mysql的驅動包(mysql-connector-java-5.1.7-bin.jar),
放到jmeter的lib目錄下
選中測試計劃,添加mysql驅動包
02添加Jdbc請求
03循環讀取庫的用戶信息
接下來就要思考怎麼將查庫獲得的用戶手機號,做爲參數傳遞給下一個登陸請求。
這裏須要引用到 ForEach控制器
輸入變量的前綴:phone;
從以前的jdbc request設置的變量得知,咱們要取的值爲phone_一、phone_二、phone_3......,因此這裏輸入phone
Start index for loop:0;
變量循環啓動的索引,第一個元素起始索引+1
End index for loop:6;
變量循環結束的索引。
因此這裏是取值phone_一、phone_二、...、phone_6
輸出的變量名稱:t_phone;
用於替換循環下的請求的變量
三、運行後,查看結果,成功從庫裏獲取了前6個用戶手機號,並分別成功登陸
以上這種處理須要自行查庫獲知總共有多少個用戶,再去設置ForEach控制器的End index for loop值(設置爲用戶總數),就能夠將庫裏全部用戶進行參數傳值登陸了;
固然能夠,先用jdbc request查出用戶數,再直接對ForEach控制器的End index for loop值進行設置就ok了
實操:
本文由檸檬班土豆老師原創