1、說明mysql
jmeter與數據庫mysql已鏈接成功sql
2、需求數據庫
一、前置條件:多線程
一、已user數據庫的前8位手機號碼做爲行動計劃的名稱函數
二、行動計劃的日期是2018-10-17spa
二、操做步驟: .net
1)獲取到某個月份的行動計劃,
2)設置參數進行循環添加行動計劃
3)統計某個月份的行動計劃數量
4)將行動計劃標記爲已完成
5)刪除某個月份下全部的行動計劃線程
三、預期結果:3d
行動計劃添加成功,而且刪除全部的某個月份下的行動計劃成功orm
3、分析與實踐
實踐步驟:
1)首先添加一個jdbc connection configuration
2)添加一個jdbc request查詢出user數據庫的前8位mobile手機號碼
3)添加一個用戶自定義變量
4)肯定是否查詢出數據
5)提取mobile的數據
6)驗證參數化是否成功
7)添加計數器
8)把mobile的值傳遞進去
9)設置線程數或者添加一個循環控制器
10)那咱們的東西進行從新排序
一、需求:存在一個user表,表結構以下:
二、分析
1)要查詢出user數據庫的前8位mobile手機號碼,那麼首先須要創建一個jdbc request,鏈接本地數據庫看,分別查出咱們須要的mobile值
2)todo_start爲了方便管理,這個值咱們設置作成了一個變量,方便管理
3)查詢出全部的mobile,mobile值不必定只有一個,所以咱們怎麼肯定每次取到的值做爲參數去請求下一個接口?這裏須要作一個循環
4)我事先不知道可以查詢出某個月份的行動計劃有多少條,那如何知道咱們須要循環多少次?
三、實踐
1)首先添加一個jdbc connection configuration,鏈接的方式根據本身的數據庫定
二、添加一個jdbc request查詢出user數據庫的前8位mobile手機號碼
三、肯定是否查詢出數據
這個時候可使用添加查看結果樹,看看咱們獲取到的mobile的值,以下是獲取到的結果
四、提取mobile的數據
查看jdbc request的request裏面,查看底部的variable name填上你想使用的變量名,注意這個接口後面要本身用到,
五、參數化進行傳遞
若是直接將mobile傳入${mobile}會發現請求裏面mobile參數化並無成功,那爲何會不成功呢,原來當使用 jdbc request 的結果做爲參數時,要寫成 ${username_0}這樣子,username就是你的變量名,0 表明索引,索引是 0 就表示第一行,索引是 1 就表示第二行。
例如,我想取mobile查詢結果第 4 行的數據,那個人變量值就須要寫成 ${mobile_3},再看看上面mobile查詢結果是怎麼展現的
六、添加計數器
因爲咱們從第 2 行開始取值,索引是 1,因此啓動填 1,每次咱們日後多 1,因此遞增也填 1,最大值可不填,number format 就是數字格式,若是填 000,取值是 12,那最後會顯示爲 012,而咱們只須要自己的數字,因此就填 0,引用名稱就是後面須要用的變量名
有了計數器,能遞增了,那咱們就須要
七、把mobile的值傳遞進去
咱們上面說了 ${mobile_1}是取第二行,${mobile_2}是取第三行,依次類推,那咱們要從第二行也就是索引等於 1 開始取,一直到最後。上一步添加的計數器就起做用了,咱們設置的計數器是從 1 開始計數,每次遞增 1,那麼跟咱們想要的徹底吻合,index 就是咱們設置的計數器的變量名,能夠直接用他來代替咱們的索引 1,2,3,4 等等,那咱們如今來把mobile 和index兩個變量拼接起來,這裏若是你直接寫成 ${umobile_index} 或者 ${mobile_${index}}都是不行的,由於兩個變量不能直接拼接,須要用到一個函數 __V,不瞭解這個函數的能夠百度看看,做用就是可使 2 個變量能夠拼在一塊兒,因此咱們拼接後的 mobile 變量應該是 ${__V(mobile_${index})}
八、設置線程數或者添加一個循環控制器
可是咱們並不知道到底須要循環多少次或者須要設置多少線程數,才能讓mobile恰好傳完,這個時候,咱們須要多加一個 jdbc request 了,來查詢出咱們符合條件的數據有多少條。select count("mobile") from user where id between 1 and 8;就是查詢符合條件的數據總數,同理咱們在 variable names 填上一個變量名,以供後面使用,這裏我取 count
count 變量是咱們以前查出來的全部數據的總數,這個總數是多少就說明咱們須要多少線程或多少次循環。ok,那咱們在 http 請求上右擊,點擊插入上級 – 邏輯控制器 – 循環控制器,循環次數,咱們使用count 變量,因爲 count變量查詢出來的結果確定只有一個,那咱們能夠直接取結果的第二行數據,索引是 1,即${count_mobile_1},這樣就能把次數肯定。這裏其實不能用添加線程的方式來作,由於這幾個 jdbc request 都在這個線程裏,若是設置多線程,jdbc request 也會屢次請求,不合理,因此咱們選擇更好的循環控制器
全部的東西都設置完了,就須要
九、從新進行排序後運行便可
參考連接:https://blog.csdn.net/u010978840/article/details/78227852