欢迎来到赛兔子家园

JMeter连接Mysql数据库

下载Mysql的驱动:

                 https://dev.mysql.com/downloads/connector/

  选择:Connector/J

  

选择如下:

 选择:No thanks,just start my download 进行下载

 

解压后放到  jmeter-3.3/lib

 测试Mysql数据库

  线程组--->配置元件-->JDBC Connection Configuration中设置

PS:Variable Name 必须填写方便后面调用;

        Database URL      :jdbc:mysql:// 数据库ip地址+端口/数据库名称?serverTimezone=UTC     除了ip地址+端口/数据库名称,其它都是固定格式;

        JDBC Driver class :com.mysql.jdbc.Driver        固定搭配格式

 线程组-->添加Sampler--->JDBC Request

PS:Variable Name : JDB Connection Configuration中定义的变量

         写入SQL语句进行测试;

线程组-->添加-->监听器-->查看结果树

如图:连接成功,进行场景设计就可以进行测试了。

实战

例1:需求:通过读取数据库中性别,执行男人访问电子商品的请求,女人访问化妆品的请求;

                    数据库test中userinfo:字段id , name,sex(性别通过0和1表示男女),age ;

                    线程组中通过配置csv来获取sql语句中where id=${id} 的值,csv中id必须存在于数据库中;

                    场景1:线程数1  循环5次       场景2:线程数5 循环1次      都可以实现男人查看3次,女人查看2次;

                    真正性能测试时使用场景1

左侧

CSV Data Set Config

PS:id_d.csv中:

JDBC数据库连接配置:

 JDBC数据库请求

   

 

sex输出   :sex_#=5 表示共5条   sex_1=0  sex_2=1 sex_3=0 sex_4=1 sex_5=0

sexAll输出:sexAll=[{sex=0}, {sex=1}, {sex=0}, {sex=1}, {sex=0}]

 如果(if)控制器

   sex_1==0即男人就服务if控制器下面的请求

 如果(if)控制器

       sex_1==1即女人

 

 例2:一个线程通过添加循环控制器输出:男人查看电子商品3次请求,女人查看化妆品2次请求

           重点掌握计算器和循环控制器的使用

           性能测试时不能用这种方法

JDBC数据库连接配置不变

JDBC数据库请求 :sql语句修改为: select sex from userinfo

计数器:

如果if控制器(男):条件使用字符串拼接 :${__V(sex_${count})}==0

如果if控制器(女):条件使用字符串拼接 :${__V(sex_${count})}==1

循环控制器:循环次数 设置 ${sex_#}

 

posted on 2017-10-25 14:33  赛兔子  阅读(147)  评论(0)    收藏  举报

导航