测试学习——性能学习(四)

测试学习——性能学习(四)

JMeter直连数据库

直连数据库的使用场景

  1. 用作请求参数化
  2. 用作结果断言
  3. 准备测试数据
  4. 清理垃圾数据
    测试学习——性能学习(四)_第1张图片

操作步骤

  1. 添加MySQL 驱动jar包
  2. 配置数据库连接信息
  3. 添加JDBC请求

    测试学习——性能学习(四)_第2张图片

练习

1、连接tpshop商城数据库获取商品名包含:小米手机5的商品id

总结

测试学习——性能学习(四)_第3张图片

编写JDBC脚本的顺序

1.添加线程组
2添加JDBC Connection Configuration3.添加JDBC request
4.添加HTTP请求-搜索商品
5.在搜索HTTP请求下,添加响应断言,检查响应结果中的字符是否包含**商品URl引用格式:$(变量名_索引)
6.添加查看结里树

JMeter 逻辑控制器

如果(If)控制器

作用:If控制器用来控制它下面的测试元素是否运行
位置:测试计划–>线程组–>(右键添加)逻辑控制器–>如果(If)控制器
参数介绍:
测试学习——性能学习(四)_第4张图片

练习

1、使用’用户定义的变量′定义一个变量name,name的值可以是’baidu’或’itcast’
2、根据name的变量值实现对应网站的访问

操作步骤:1.添加线程组
2.用户定义的变量
3.添加If控制器,判断name是否等于baidu
4.添加HTTP请求,用来访问百度
5.添加if控制器,判断name是否等于itcast
6.添加HTTP请求,用来访问传智播客
7.添加查看结果树
测试学习——性能学习(四)_第5张图片
测试学习——性能学习(四)_第6张图片

总结

(1)IF控制器的作用是什么?
·用来控制它下面的测试元素是否运行
(2)使用"IF控制器”的操作步骤?
1.添加线程组
2.用户定义的变量
3.添加If控制器,判断name是否等于baidu
·不勾选Interpret condition, ’ $ {name } ’ == 'baidu ’
·勾选,${_jex13 ( ’ $ { name} ’ -= 'baidu ’ , ))
4.添加HTTP请求,用来访问百度
5. 添加If控制器,判断name是否等于itcast
6. 添加HTTP请求,用来访问传智播客
7.添加查看结果树

循环控制器

作用:通过设置循环次数,来实现循环发送请求
位置:测试计划–>线程组–>(右键添加)逻辑控制器–>循环控制器
操作过程:
1.添加线程组
2.添加循环控制器—设置循环次数
3,添加HTTP请求
4.添加查看结果树
(3)思考:线程组属性可以控制循环次数。那么循环控制器有什么用?
不同点:线程组的循环次数对线程组下的所有HTTP请求有效,循环控制器的循环次数对子节点下的HTTP请求有效
关联:循环控制器次数为M,线程组循环次数为N,
·循环控制器下的请求运行:M*N次
·线程组下,非循环控制器下的请求运行:N次

ForEach控制器

作用:一般和用户自定义变量或者正则表达式提取器一起使用,读取返回结果中一系列相关的变量。
该控制器下的取样器都会被执行一次或多次,每次读取不同的变量值。
参数:测试学习——性能学习(四)_第7张图片

练习1

1、有一组关键字[hello,python,测试],使用用户定义的变量存储
2、要依次取出关键字,并在百度搜索,例如: https : / / www . baidu . com/s?wd=hello
操作步骤:
添加线程组
添加用户定义的变量
添加ForEach 控制器
添加HTTP请求
添加查看结果树
测试学习——性能学习(四)_第8张图片

练习2

1、访问传智播客首页http: / / www.itcast.cn,获取首页中的地址信息,并全部保存下来
2、要依次取出地址关键字,并在百度搜索,例如: https : / /www . baidu.com/s?wd-地址
操作步骤
1.添加线程组
2.添加HTTP请求1——itcast
3.请求1下添加正则表达式提取器
4.添加foreach控制器
5.添加HTTP请求2——baidu
6. 添加查看结果树

JMeter定时器

同步定时器

同步定时器:阻塞线程(累积一定的请求),当在规定的时间内达到一定的线程数量,这些线程会在同一个时间点一起释放,瞬间产生很大的压力。
提示:在JMeter中叫做同步定时器,在Loadrunner中又叫集合点
位置:测试计划–>线程组–>HTTP请求–>(右键添加〉定时器–> Synchronizing Timer
测试学习——性能学习(四)_第9张图片

练习

1、模拟1oo个用户同时访问百度首页,统计各种高并发情况下运行情况
操作步骤:
添加线程组
添加http请求
添加同步定时器
添加查看结果树(监听器)
添加聚合报告(监听器)

总结

(1)什么时候需要使用同步定时器?
·测试抢购、秒杀或者抢红包等高并发的场景时使用(2)使用同步定时器的操作步骤?
1.添加线程组,设置线程数为n2.添加HTTP请求
3.添加同步定时器
·设置并发线程数:同时发送请求的虚拟用户数﹒设置超时时间:
建议设置:不设置的话,若没有达到设置的线程数会一直死等不能设置太小:等待时间后还没达到设置的线程数,会释放已到达
的线程
4.添加HTTP请求,用来访问百度
5.添加查看结果树
6. 添加聚合报告

常数吞吐量定时器

作用:让JMeter按指定的吞吐量执行,以每分钟为单位。
位置:测试计划–>线程组–>HTTP请求–>(右键添加)定时器–>Constant Throughput Timer
测试学习——性能学习(四)_第10张图片

练习

1、一个用户以200Ps (20次/s)的频率访问百度首页,持续一段时间,统计运行情况

总结

(1)什么时候需要使用常数吞吐量定时器?
·需要按指定的吞吐量发送请求时,可以使用常数吞吐量定时器
1.添加线程组,循环次数设置成永远
2.添加HTTP请求
3.添加常数吞吐定时器
·设置目标吞吐量:每个用户每分钟发送的请求数·计算方法:要求QPS * 60/线程数
添加查看结果树

固定定时器

案例

(1)IHRM系统登录错误3次后,锁定1分钟。1分钟后重新输入正确的用户名密码登录成功
测试学习——性能学习(四)_第11张图片

你可能感兴趣的:(软件测试,学习,jmeter)