jmeter接口測試4-使用數據庫mysql構造參數

 

jmeter測試中,測試數據通常和測試用例分離mysql

測試數據通常能夠使用csv構造,進行參數化sql

但也能夠使用mysql等數據庫構造shell

方案一:一個線程循環調用mysql數據,不是併發,不適用於性能測試,更適合接口測試數據庫

記錄一下:bash

 需求:若是sex是0,那麼執行操做1併發

           若是 sex是1,那麼執行操做2函數

         具體操做根據實際狀況肯定,這個例子用bash shell sample代替具體的操做性能

 

本地mysql數據庫中我新建了 個database,取名jmeter,其中建立了user表測試

 

 

1.首先須要配置jmeter 的mysql源url

   添加JBDC connection Configuration

注意:

variablename for create pool:jetertest(jmetertest這個名字本身定義的,記住下面要使用)

max number of Conection JDBC鏈接池最大鏈接數

                             0:線程之間獨立,不共享線程池

                             n :確保該值大於等於最大線程數

           

Database url:

                           jdbc:mysql://127.0.0.1:3306/YourDatabaseName?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true

            

2.    建立一個    JDBC request

 

       3.在debug sample 能夠看到結果sexarray

 

 

4. 循環遍歷mysql返回的sexarray,使用循環控制器和計數器來實現

 

 (1)循環控制器,設置最大的循環次數,在debug sample能夠看到一共有4條數據,也就是sex_#=4

(2)計數器 由於循環數據的格式爲sex_1,sex_2,sex_3,sex_4,這裏使用計數器來構造下劃線後面的1,2,3,4

    sex_i

 (3)使用函數助手來構造sex_i這種須要的格式sex_i

   使用函數助手_v構造參數樣式

   構造格式sex_${i},點擊生成,將截圖3上的字符串拷貝到if判斷語句

 

5 使用條件控制器if來判斷執行的請求

sex=0執行請求0 sex=1執行請求1

添加個bash shell sample 或者實際中須要的http請求等

 

 

6 運行結果分析

由於數據庫mysql sex分別爲0,1,1,1

那麼對應的beanshell取樣器0,1,1,1

注意這裏始終都是一個線程循環執行,不能算真正的併發

 

 

 

 

方案2:使用mysql數據庫構造併發的參數化

這裏使用

 

select sex from user where id =${id}

將${id}中的id進行參數化

select sex from user where id=1; select sex from user where id=2; select sex from user where id =3;select sex from user where id =4;

這樣每次就能夠循環取到每個sex中的值,sex_1就是咱們每次須要的值

 下次在詳細寫

相關文章
相關標籤/搜索