性能测试实战(七):数据驱动

一、数据驱动基础知识

1、DDT:数据驱动测试,数据驱动性能测试

2、在性能测试中,一定会使用很多数据来做测试

3、数据:造数据、生成数据

造数据:直接插入数据库、文件导入数据库、jmeter工具调用接口运行比较长的时间

4、CSV数据元件设置(配置元件)

(1)用自己已经造好的数据进行测试

(2)文件名:一定不能为空,【浏览】默认打开的是jmx保存的地方,建议跟脚本放一起

(3)文件,可以支持文本文件(txt、csv)

(4)csv文件,是用逗号分隔列的文本文件

文件一般是列数据,不是行数据

(5)建议大家选择txt文件(1、默认utf8,不会乱码 ,而csv文件打开保存时容易乱码;2、同等数量大小,txt资源占用更少)

(6)文件路径

        ①绝对路径

        ②相对路径:默认的起始点是bin文件夹,在使用中,你们可以默认为是jmx文件位置作为起始点

        相对jmx的起始: “./.\文件名”,在win下都支持,但是\在linux下是转义符,因此使用/,这样就可以使Jmeter跨平台了。文件路径一旦错误,工具就会直接报错,脚本无法运行。

(7)文件编码:根据上面选择的文件来选择编码

(8)变量名:自定义,多个变量间用“,”隔开,实际对应文件中的列

(9)分割符:根据文件中的分隔符进行修改

(10)CSV文件读取

        所有线程共享:运行时读取一次,用一次值,则取一次值

        遇到文件结束符再循环:True(循环取值)  False(取完值则为空)

        遇到文件结束符停止线程:True(取不到值时,停止Jmeter运行) False(取不到值时,还会运行)

(11)是否允许带有引号:True(自动剔除一对双引号)、False(不做任何操作)

5、思考:你写好了一个脚本,使用了csv数据文件设置,怎么提供脚本给同事?

(1)csv文件设置路径,一定要使用相对路径

(2)要根据csv的路径,把jmx和csv一起打包给对方

6、思考:用Jmeter的用户参数,随机生成我们的测试账号,然后,把这些账号保存到一个文件中。

二、数据驱动简单使用

1、使用jdbc协议

        引入jdbc的jar包(mysql5.7对应8版本的jar,其他版本需要找到对应的jar包)

        工具连接数据库

        Jmeter找到配置元件JDBC Connection Conflguration

                create pool  : 自定义

                连接方式: jdbc:...//...

                driverclass: 选择 com.mysql.jdbc.Driver  (mysql5.7可以选择)

                jabc request:

                        填写数据库配置信息中自定义的连接池名称

                        脚本区域:写脚本

                        注意:mysql版本为8的时候,driverclass需要手工填com.mysql.cj.jdbc.Driver 

                Jmeter写脚本默认不支持多个sql

        sql语句中,使用?作为占位符更安全;?代表要传一个变量进来,这是时候:

(1)、我们sql type选择prepared开头的

(2)、parmeter values: 变量引用  ${变量名}

(3)、parmeter types: 统一写varchar

(4)、?用于占位,因此参数数量应该于?保持一致

2、应用场景:在使用账号进行测试时

(1)使用账号登陆,每次使用的账号都不一样(部分可能是新注册的账号)

(2)只是这些账号都没有保存

(3)因此期望这些账号保存到本地

(4)可使用的方法:

        通过sql语句将账号全部查询出来,然后保存到本地(数据库连接+jdbc请求+保存响应文件)

3、sqlite数据库

        只要你的电脑有图像界面的浏览器,就一定会有sqlite数据库

        sqlite数据库是一个内存数据库,是图像界面系统自带数据库,不需要安装

        jdbcURL: jdbc:sqlite:vip 14_220125.db(库文件名)

        driverclass: 选择org.sqlite.JDBC

        上述的账号密码也可以使用这种方式存储

        

三、数据驱动进阶操作

1、Jmeter测试计划中有多个启用线程组的时候,这些线程组的执行,默认是并行来执行

2、想要多个线程组,串行执行,勾选测试计划中  独立运行每个线程组

3、Jmeter属性:

        静态属性:写在 .porperties结尾的文件中的配置

        动态属性:放在内存中,Jmeter退出的时候自动释放属性

        系统属性:操作系统的属性

        Jmeter属性:包含静态属性、动态属性

4、Jmeter线程组中的取样器执行顺序是从上往下,多个用户并发,每个用户的执行顺序也是由上往下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lion King

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值