1. 程式人生 > >jmeter如何連線資料庫,並且利用查詢的結果 作為下一個請求的引數

jmeter如何連線資料庫,並且利用查詢的結果 作為下一個請求的引數

背景:小編最近寫了一個介面自動化的步驟,主要分為以下幾個部分

1.隨機賬號登入微信商城

2.提交訂單 生成訂單單號

3.訂單進行餘額支付或者線上支付

4.後臺訂單分揀


對於後臺訂單分揀,小編髮現,他只是傳了一個Id就對商品進行分揀了,然後小編一臉懵逼,這我怎麼知道我剛才下的訂單,每個商品的這個id是多少呢?經過思考小編覺得,應該是資料庫儲存了這個唯一的標識的Id(也就是商品訂單表中的儲存id),而如何獲取這個id,只有根據提交訂單時介面返回的訂單號,然後根據這個訂單號,在資料庫中的訂單表進行查詢到Order_id,然後根據order_id在訂單商品表中在查詢商品對應關係的儲存id(也就是分揀列印傳遞的哪個id,當然這裡如果一個訂單下了多個商品的話,查詢的結果是多個商品儲存標識id的,當然這裡就靠自己對list以及元組的操作能力了,因為每次你只能一個id的對後臺進行提交,所以我們還需要使用到迴圈

分析到了這裡,所以在程式碼中,我們必須對資料庫進行查詢,在將這個查詢的結果作為引數,也就是jmeter中的的請求引數,從而才能讓這個介面自動化流程能夠跑通,下面為小編主要運用到的方法

一,首先你得連線上資料庫

1.需要依賴的mysql jar包 ,需要放到 jmeter的lib下面

給你網盤下載地址連結:https://pan.baidu.com/s/1EP4R2k3zan7xiKb4vWoCTw 密碼:cony

2.新建一個JDBC  Connection Configuration,具體設定如下,

關注點:database url地址格式:jdbc:mysql://host(或者Ip):3306/dbname 

關注點:哪個variable name的名稱 記得要跟下面sql語句得保持一致 否則會報錯

關注點:com.mysql.jdbc.Driver(依賴的class)

關注點:記得執行緒組哪裡需要選擇Jmeter/lib下選擇剛才的mysql驅動包

選擇下載的jar包即可(jmeter lib下面)


3.新建一個jdbc requests請求,記住這個variable name需要跟之前的保持一致

關注點:查詢的結果  id_n(n代表第幾行資料)   所以不需要用什麼正則提取器

4.使用的時候 只需要使用${id_n}就可以呼叫了

二、連上了資料庫 是不是覺得  需要一個迴圈控制器

1.新建一個foreacH控制器 輸入一個變數名 然後再寫輸出變數名  開始設定成0  結束設定成5

也就是說 ${vid}   可以相當於這種效果(id_1 -> id_2- > id_3 -> id_4-> id_5)

vid


三、隨機函式生成器

1.Jmeter選項  然後點選函式對話選項框 ,之後看下圖


2.至於引用的話 就是使用生成的那一堆 直接放到請求引數即可