Jmeter系列--控制器Controllers:【取样器Samplers、逻辑控制器Logic Controllers】、监听器Listeners......所有的入门【详细有链接】

本文主要是介绍Jmeter系列--控制器Controllers:【取样器Samplers、逻辑控制器Logic Controllers】、监听器Listeners......所有的入门【详细有链接】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

线程组下不同组件的执行优先级/顺序

  1. 配置元件、监听器
  2. 前置处理器
  3. 定时器
  4. 逻辑控制器
  5. 取样器
  6. 后置处理器
  7. 断言

取样器执行顺序

在没有逻辑控制器情况下,取样器是按从上往下的顺序执行的

Controllers

        Jmeter有两种类型的控制器:Samplers(取样器)和Logical Controllers(逻辑控制器);

  • 控制器是为了控制取样器的执行条件

Samplers

  • 取样器:让Jmeter 发送请求到服务器
  • 取样器指示Jmeter向服务器发送请求并等待响应
  • 多个取样器按照它们在树中出现的顺序运行
  • 取样器 + 控制器可以修改取样器的执行次数

Jmeter自带的取样器

  • FTP Request
  • HTTP Request (can be used for SOAP or REST Webservice also)
  • JDBC Request
  • Java object request
  • JMS request
  • JUnit Test request
  • LDAP Request
  • Mail request
  • OS Process request
  • TCP request

============================================================================================================================================================================================================================================================================================================================================================================================================================

Samplers 的特性

  • 每个取样器都有几个可以设置的属性
  • 也可以向测试计划或线程组中添加多个Config Element(配置元件来更进一步自定义取样器
  • 最后,要在测试计划中添加一个Listener(监听器),以便查看请求结果,或存储结果到磁盘
  • 备注:上面说到的配置元件和监听器,在后面文章都会详解哦!这里就提一下

栗子一:添加HTTP请求默认值配置元件【 HTTP 头部管理、cookie管理、缓存管理、请求默认值】

        如果要发送多个相同类型的请求(如:HTTP请求)到同一服务器,可以考虑抽取公共HTTP信息

 

 栗子二:添加断言

在对Web应用程序进行压力测试时,服务器可能返回成功的响应代码,也可能返回失败的响应代码;添加断言可以检查请求的响应是否符合预期

 以后会对所有的取样器 进行讲解【跳转链接: 】

============================================================================================================================================================================================================================================================================================================================================================================================================================

Logic Controllers

  • 逻辑控制器:可以自定义决定发送请求的时机的逻辑

Logic Controllers的简介

  • 逻辑控制器可以自定义决定发送请求的时机的逻辑
  • 还可以更改其子元件的请求的顺序
  • 逻辑控制器可以组合使用,然后获取不同的结果

逻辑控制器的栗子 【仅一次控制器】

在平时无论是做压力测试还是接口自动化测试中,我们的登录请求一般都只需要执行一次,获取到token即可;

而仅一次控制器刚好可以满足这个需求 【其实 就和接口自动化中 pytest中conftest.py中的 获取token一样】

有什么逻辑控制器

 以后会对所有的逻辑控制器  进行讲解【跳转链接: 】

============================================================================================================================================================================================================================================================================================================================================================================================================================

Listeners

监听器提供了在Jmeter运行时,收集运行信息的权利

常见的监听器

  • Graph Results :  在图表上绘制响应时间
  • View Result Tree:最常用的查看结果树,显示Samplers请求和响应的详细信息,可以通过多种格式显示(如:HTML、XML)
  • 其他监听器提供摘要或聚合信息

保存数据到本地

  • 每个监听器都可以将收集到的数据保存到指定文件
  • 可以指定要保持的字段,以及文件的格式(CSV还是XML文件)

重点注意

  • 所有监听器拿到的结果数据都是一致唯一区别就是数据的显示方式,不同监听器,显示方式都不一样
  • 监听器可以添加到任何位置包括测试计划、线程组、取样器等地方,它们会收集同级别下的数据和所有子元件的数据

 有什么监听器

jmeter 默认有的监听器还是比较少的,但是想做好性能测试,装一些监听器插件必不可少啊

 以后会对所有的 监听器  进行讲解【跳转链接: 】

============================================================================================================================================================================================================================================================================================================================================================================================================================

前置处理器

  • 在发出取样器请求前执行一些操作
  • 用的比较多的是:设置一些参数、修改取样器的设置、脚本预处理

有什么前置处理器

后置处理器

  • 在取样器请求发出后执行一些操作
  • 用的比较多的是:处理响应数据,提取某个值

有什么后置处理器

 以后会对所有的 前置、后置  进行讲解【跳转链接: 】

============================================================================================================================================================================================================================================================================================================================================================================================================================

断言

  • 可以断言服务器的响应内容
  • 在性能测试脚本中使用断言,一般是为了调试脚本
  • 在接口自动化测试中使用断言,一般是为了严谨的校验接口响应内容是否符合预期

断言成功与否

  • 断言成功与否,可以通过监听器-断言结果查看
  • 如果断言失败,则将此请求标记为失败,还会显示在察看结果树中,错误率会显示在聚合报告中

添加断言

  • 可以将断言添加到任何取样器,只作用于当前取样器
  • 如果断言是在线程组下,那么会作用于线程组下的所有取样器

性能测试中是否应该使用断言

大多数情况下不可以使用断言,因为断言不仅会增加响应时间,拉低最终的结果值,还会占用系统资源

有什么断言

 以后会对所有的 断言  进行讲解【跳转链接: 】

============================================================================================================================================================================================================================================================================================================================================================================================================================

定时器Timers

不使用定时器时

  • Jmeter 线程将按顺序执行各个取样器而不会中途暂停
  • Jmeter 可能会在很短时间内发出过多请求,从而使服务器不堪重负

使用定时器时

  • 可以在取样器下添加定时器,这样定时器只会作用于当前取样器
  • 也可以在线程组下添加多个定时器,统计定时器的总和,然后作用于线程组下的所有取样器

有什么定时器

 以后会对所有的 定时器 进行讲解【跳转链接: 】

============================================================================================================================================================================================================================================================================================================================================================================================================================

配置元件介绍

  • 配置元件和取样器的关系十分紧密
  • 比如说常用的:HTTP默认值,设置数据库连接,FTP连接等

有什么配置元件

 以后会对所有的  配置元件  进行讲解【跳转链接: 】 

这篇关于Jmeter系列--控制器Controllers:【取样器Samplers、逻辑控制器Logic Controllers】、监听器Listeners......所有的入门【详细有链接】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/770604

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

MySQL-CRUD入门1

文章目录 认识配置文件client节点mysql节点mysqld节点 数据的添加(Create)添加一行数据添加多行数据两种添加数据的效率对比 数据的查询(Retrieve)全列查询指定列查询查询中带有表达式关于字面量关于as重命名 临时表引入distinct去重order by 排序关于NULL 认识配置文件 在我们的MySQL服务安装好了之后, 会有一个配置文件, 也就

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0