【性能测试】Jmeter工具使用3

【性能测试】Jmeter工具使用2_小慌慌的博客-CSDN博客【性能测试】Jmeter工具使用1_小慌慌的博客-CSDN博客目录【性能测试回顾】【今日学习目标】性能测试工具Jmeter和Loadrunner:Loadrunner:工业级的性能测试工具,可以模拟大量用户,并监控性能指标提供报表。Jmeter:性能测试工具,Jmeter软件的功能与Loadrunner基本一致。选择jmeter的原因:jmeter环境搭建:jmeter的功能概要:jmeter文件目录结构:基本配置修改语言:修改外观:jmeter元件及基本作用域:基本元件:作用域的原理:...https:/https://blog.csdn.net/whowhowhoisimportant/article/details/123392209

目录

昨日回顾

(1)断言

(2)关联

线程组内的关联(通过后置处理器实现):

线程组间的关联(两个请求在不同的线程组中)

(3)脚本录制

今日目标

1.Jmeter直连数据库

(1)准备工作

(2)编写JDBC脚本步骤

2.逻辑控制器

(1)如果(if)控制器

(2)循环控制器

(3)ForEach控制器

3.定时器

(1)同步定时器

(2)常数吞吐量定时器

4.jmeter分布式:

(1)应用场景

(2)原理

(3)分布式相关注意事项

(4)分布式配置与运行

5.jmeter报告

(1)聚合报告

(2)HMTL报告 


昨日回顾

(1)断言

  • 响应断言
    • 使用范围:
    • >HTTP消息的任何格式的响应
    • 参数配置:
    • >需要断言的字段:文本内容、响应码、响应头、请求URL、请求头、请求体
    • >断言的方式:等于/包含、非、或、和
    • >需要断言的数据(预期结果)
  • Json断言
    • 使用范围:
    • >响应消息为JSON格式的响应
    • 参数配置:
    • >JSON路径:$.开头
    • >需要断言的数据(预期结果)
  • 断言持续时间
    • 使用范围:
    • >对请求的响应时间进行断言
    • 参数配置:
    • >预期响应时间(单位:ms):当时间响应时间超过该值时会报错

(2)关联

线程组内的关联(通过后置处理器实现):

A、正则表达式提取器

使用范围:

  • 适用于任何格式的响应数据

参数配置:

  • 参数名:提取出来的数据要保存的变量名
  • 正则表达式:左边界(.*?)右边界
  • 模板:$1$(代表提取正则表达式中第1个括号的内容)
  • 值:-1(返回全部的值),n(返回列表中第n个匹配上的值)

引用:

  • 在后续请求中引用提取器中定义的参数名:${参数名}

B、xpath提取器

使用范围:

  • 适用于HTML格式的响应数据

参数配置:

  • 参数名:提取出的数据要保存的变量名 
  • xpath路径:定位某个页面元素的路径
  • 值:-1(返回全部的值),n(返回列表中第n个匹配上的值)

引用:

  • 在后续请求中引用提取器中定义的参数名:${参数名}

C、JSON提取器

使用范围:

  • 适用于JSON格式的响应数据

参数配置:

  • 参数名:提取出的数据要保存的变量名
  • JSON路径:定义到JSON字符串中某个值的路径

引用:

  • 在后续请求中引用提取器中定义的参数名:${参数名}

线程组间的关联(两个请求在不同的线程组中)

>>案例:

  • 天气接口,百度搜索-天气接口返回的城市信息

>>步骤:

  • 添加线程组1,添加HTTP请求——天气接口的请求
  • 使用提取器(正则表达式/xpath/JSON提取器)提取出天气接口中的城市数据
  • 添加Bean Shell取样器(写入setProperty函数,将提取出城市数据赋值给Jmeter属性)
  • 添加线程组2,添加HTTP请求——百度接口的请求
    • 引用Jmeter属性中保存的城市数据(property函数读取)
  • 添加查看结果树

(3)脚本录制

录制步骤:

1、在测试计划中添加非测试元件中的HTTP代理服务器 

2、配置HTTP代理服务器

  • Jmeter代理的端口
  • 配置目标控制器:选择一个线程组,将脚本录制到该线程组中 
  • filter过滤:正向/反向

3、配置PC机中的代理设置。

  • 配置IP(Jmeter的IP-本机IP) 
  • port(第2步中配置的Jmeter代理的端口) 
  • <-loopback>

4、启动HTTP代理服务器的配置 

5、进入浏览器进行操作,HTTP请求会自动记录在Jmeter中

HTTP Cookie管理器:

  • 自动记录请求中的登录状态。
  • 当录制登录及后续相关的所有操作时,在录制的脚本运行时,需要添加HTTP Cookie管理器,脚本 才能正确运行。

今日目标

  1. 掌握Jmeter直连数据库

  2. 理解Jmeter逻辑控制器

  3. 理解Jmeter常用定时器

  4. 掌握分布式的配置及使用性能测试工具

  5. 掌握Jmeter报告

1.Jmeter直连数据库

(1)准备工作

  • 启动数据库
  • 加载mysql的JDBC驱动
    • >>方法1:在测试计划下方的位置,点击浏览添加JDBC的jar包
    • >>方法2:将JDBC的jar拷贝到lib目录,并重启jmeter
  • 配置JDBC连接池的参数

(2)编写JDBC脚本步骤

(搜索指定商品,在返回结果中检查是否包含指定商品的ID的详情URL):

 1、添加JDBC Request请求

  • JDBC连接池名称:必须与“JDBC连接池”中的连接名一致
  • 要执行的sql语句
  • Variable Name中:写明要保存的数据的参数名

2、添加HTTP请求 —— 搜索请求 参数为中文时,将参数写到下方参数位置,并勾选上“编码”

 

3、添加响应断言:

  • 在响应断言中配置要检查的数据内容。
  • 注意:应用JDBC Request查询出的结果时,需要加上索引(因为JDBC查询的结果保存为一个列 表)

 

2.逻辑控制器

控制jmeter脚本的执行顺序

(1)如果(if)控制器

第一种配置方法:

 

第二种配置方法:

勾选上Interpret Condition as Variable Expression,判断条件需用使用jexl3函数。 (使用这个函数来进行判定时,Jmeter自身的执行效果要高一些)

(2)循环控制器

控制子节点下的HTTP请求的执行次数

循环控制器与线程组中的循环次数的对比:

  • 循环控制器只控制其子节点下的HTTP请求,线程组对所有的请求都有效
  • 假如线程组循环次数为2,循环控制器次数为3,则循环控制器下的请求执行次数为:2*3 

(3)ForEach控制器

与用户定义的变量或者正则表达式提取器配合使用,循环读取用户定义的变量或者正则表达式结果中的 所有数据。

配置参数:

 >>与用户定义的变量配合使用

1、添加用户定义的变量: 参数名:固定前缀 + 连续的数字后缀

 

2、添加ForEach控制,并配置

3、在ForEach控制器下方添加HTTP请求,并引用ForEach读取的数据${word}

4、添加查看结果树

>>与正则表达式配合使用

1、添加HTTP请求——itcast首页

2、添加正则表达式提取器,提取出itcast响应中所有的地址相关的数据,并保存为参数area(列表数 据)

3、添加ForEach控制器,循环提取area列表中的每一个地址信息

 

4、在ForEach控制器下添加一个HTTP请求——百度,引用ForEach控制器中定义的变量${word},作为参数

5、添加查看结果树 

3.定时器

(1)同步定时器

又叫做集合点(LR的叫法),保证大量的请求在同一时间进行发送,形成绝对的并发 实现原因:设置同步定时器,有请求要发出时,同步定时器会暂缓请求发送,一直到积攒的请求数达到

要的数量时 ,将所有的请求同步发送出去,形成绝对的并发(更大的压力负载)

(2)常数吞吐量定时器

设置Jmeter以指定的吞吐量速度往服务器发送HTTP请求。

 

注意:常数吞吐量定时器只是帮忙达到性能测试的负载(压力)要求,本身不代表性能有bug/无bug 对于bug的分析需要通过响应时间来判断

4.jmeter分布式:

(1)应用场景

当性能测试时需要模拟的负载(用户/请求)太高,一台测试机无法模拟,需要使用多台测试机一 起来模拟以达到要求的负载量,这就叫分布式

(2)原理

  • 分布式测试时通常由1台控制机和N台代理机
  • 控制机:给代理发送任务,接收代理机返回的数据统计,做汇总展示
  • 代理机:往服务器发送HTTP请求,并接收服务器的响应,并对响应进行处理。

(3)分布式相关注意事项

  • 测试机上所有的防火墙关闭
  • 所有的控制机、代理机、被测系统都在同一个子网中
  • 所有的控制机和代理机上安装的Jmeter和JDK的版本必须完全一样。
  • 要关闭Jmeter中的RMI SSL开关 

(4)分布式配置与运行

 

5.jmeter报告

(1)聚合报告

(2)HMTL报告 

参数:

 

 

步骤:

  • 1、在bin目下执行上述命令 
  • 2、等待脚本执行完成后,进行report文件夹下,打开index.html,可以看到性能测试的详细数据 统计
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小慌慌

感谢博友的鼓励,快乐分享~

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

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

打赏作者

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

抵扣说明:

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

余额充值