JMeter基本使用

一、JMeter线程组相关

  • 进程:正在运行的程序。
  • 线程:是进程中的执行线索。
  • 线程组:进程中有许多线程,为了方便管理,可以对线程按照性质分组,分组的结果就是线程组。
  • PS:三者关系,一个进程可以包含多个线程组,一个线程组可以包含多个线程。
  • JMeter两个特殊线程组:
    (1)setUp线程组:最优先执行的线程组。
    (2)tearDown线程组:最后执行的线程组。

二、JMeter并发执行和顺序执行

  • 并发执行:多个线程同时执行
  • 顺序执行:多个线程顺序执行

在这里插入图片描述

三、Jmeter线程组常用属性

在这里插入图片描述

四、http请求默认值

http请求默认值:被复用的内容的封装
在这里插入图片描述

五、参数化

Jmeter有四种方式实现参数化:

1.用户定义的变量

  调用格式:${变量名}

2.CSV数据文件设置

CSV:逗号分隔值,是一种简洁且常见的数据存储格式.
在这里插入图片描述

  • 文件编码

     文件的编码格式,与所选的CSV文件的编码格式保持一致,中文一般选UTF-8编码。
    
  • 分隔符号(用’\t’代替制表符)

     根据CSV文件中的分隔符进行填写,默认:,
    
  • 是否允许带引号

        假如CSV文件中有一条数据值为”1,2“,以下分别是选”True“和”False“返回的结果True:"1,2"False:1,2
    
  • 遇到文件结束符再次循坏
    假如CSV文件中有5条记录,但线程组有10个
    (1)True:循环10次后,重头开始循坏取值
    (2)False:循环10次后,不会重头开始循环取值

  • 遇到文件结束符停止线程
    (1)True:当取完CSV文件中所有的值后,直接停止线程
    (2)False:当取完CSV文件中所有的值后,不会直接停止线程

  • 线程共享模式
    (1)所有现场:CSV文件的变量可以被同一测试计划中的所有线程组引用
    (2)当前线程组:CSV文件的变量只可以被当前线程组引用
    (3)当前线程:CSV文件的变量只可以被当前线程引用

3.用户参数

  • 数据设计规则:第一列声明每条数据的字段名称,第二列及以后,每一列对应一条数据。

在这里插入图片描述
在这里插入图片描述
4.函数

常见函数:

(1)_counter 计数器函数 TRUE(每个用户都有自己的计数器) False(所有用户共用一个计数器)

(2)_Random 随机数函数 参数1:取值范围最小值(包含 ) 参数2:取值范围最大值(包含)

(3)_time:获取当前时间的函数 无参:获取的是距离 1970/01/01 00:00:00 的毫秒值

参数1:yyyMM_dd HH:mm:ss 格式化成 年\月_日 时:分:秒格式。
在这里插入图片描述

六、直连数据库

1.JMeter不具备直连数据库功能,必须整合第三方(jar包)实现。

2.配置数据库的连接。

3.通过JDBC Request请求向数据库发送SQL语句并接收提取响应结果。

4.结果获取规则可以通过Debug sampler组件查看。

在这里插入图片描述

七、断言

断言:让程序代替人工判断响应结果是否符合预期。
分类:

  • 响应断言 = 断言状态码和响应体
  • 大小断言 = 判断响应内容的字节长度
  • 断言持续时间 = 判断响应时间
    响应断言:
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/51203.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pytest设置日志

在 pytest 中,您可以使用内置的日志功能来记录测试过程中的信息。pytest 默认使用了 logging 模块来处理日志记录。此外,您还可以使用 pytest 的插件来增强日志功能,比如 pytest-loguru 插件,它结合了 loguru 库来提供更强大的日志管理能力。 1. 使用内置的日志功能 设置…

【设计模式】(万字总结)深入理解Java中的创建型设计模式

1. 前言 在软件开发的世界里,设计模式是一种被广泛接受并应用的解决方案。它们不仅仅是代码的设计,更是对问题的思考和解决的方法论。在Java开发中,特别是在面向对象的编程中,设计模式尤为重要。创建型设计模式,作为设…

【初阶数据结构篇】实现顺序结构二叉树(堆的实现方法)

文章目录 实现顺序结构二叉树(堆)前言代码位置堆的概念与结构概念 堆的实现堆初始化和销毁堆的插入堆的判空堆的删除数据取堆顶数据 实现顺序结构二叉树(堆) 前言 ​ ⼀般堆使⽤顺序结构的数组来存储数据,堆是⼀种特…

一键生成惊艳图像:使用Stable Diffusion打造惊人视觉效果

一、简介 Stable Diffusion是一种由Stability AI开发的生成式AI模型,能够将文本提示转换为高质量的图像。作为生成式扩散模型的一部分,Stable Diffusion通过解析和理解输入的文本提示,逐步生成与描述相匹配的图像。这一技术不仅在图像生成和…

AUTOSAR从入门到精通-T-Box

目录 前言 算法原理 TBOX主要模块 主控模块 CAN通讯模块 高通4G模块 蓝牙模块 & WIFI & Bluetooth模块 WIFI模块 天线 T-BOX功能 网络接入 车辆信息实时上传 远程诊断 车辆异常告警上传 E/B-call服务 OTA功能 V2X 位置查询/车辆追踪 平台监控/国家监…

树莓派4b的Mysql数据库操作

卸载树莓派中的 MySQL。 停止 MySQL 服务: sudo systemctl stop mysql卸载 MySQL 服务器和客户端: sudo apt-get remove --purge mysql-server mysql-client mysql-common删除 MySQL 数据库和配置文件: sudo rm -rf /etc/mysql /var/lib/mysq…

鸿蒙next ArkUI 单例模式和手游sdk接口设计

前言: 各位同学大家,有段时间没有跟大家见面了,因为最近一直在更新鸿蒙的那个实战课程所以就没有去更新文章实在是不好意思, 所以今天就给大家更新一起鸿蒙里面的案例模式来给大家做一个分享。 作者:徐庆 团队:坚果派 公众号:“大前端之旅” 润开鸿生态技术专家,华为…

Vue3-导出导入excel

功能 主要实现excel导入导出功能,同时具有合并单元格,美化单元格等功能,引用依赖包exceljs、file-saver,好像也没有什么要介绍的,可以看看官网文档然后直接使用了 导入依赖包 pnpm install exceljs file-saver type…

MybatisPlus核心用法

MybatisPlus核心用法 目录 MybatisPlus核心用法1.使用MybatisPlus的基本步骤:2.MybatisPlus是如何获取实现CRUD的数据库表信息的?3.MybatisPlus的常用注解有哪些?如果表名称和实体类名称不符合约定该怎么做?IdType的常见类型有哪些…

漏洞复现-F6-11泛微-E-Cology-SQL

本文来自无问社区,更多漏洞信息可前往查看http://www.wwlib.cn/index.php/artread/artid/15575.html 0x01 产品简介 泛微协同管理应用平台e-cology是一套企业级大型协同管理平台 0x02 漏洞概述 该漏洞是由于泛微e-cology未对用户的输入进行有效的过滤&#xff0…

Python爬虫技术 第17节 使用BeautifulSoup

使用Python进行网页爬取是一个常见的任务,特别是当需要从网站上批量获取数据时。BeautifulSoup是一个非常流行的Python库,用于解析HTML和XML文档,非常适合用来提取网页中的信息。 下面我将通过一个简单的案例来介绍如何使用Python和Beautifu…

Skyeye云智能制造企业版源代码全部开放

智能制造一体化管理系统 [SpringBoot2 - 快速开发平台],适用于制造业、建筑业、汽车行业、互联网、教育、政府机关等机构的管理。包含文件在线操作、工作日志、多班次考勤、CRM、ERP 进销存、项目管理、EHR、拖拽式生成问卷、日程、笔记、工作计划、行政办公、薪资模…

vue3 快速入门 (六) : vue中调用HTTP请求

1. 本文环境 Vue版本 : 3.4.29Node.js版本 : v20.15.0系统 : Windows11 64位IDE : VsCode 1.91.0 2. 访问HTTP 在Vue中,访问HTTP,可以使用axios第三方库。 axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js。 axios使用简…

DelegateExecution和EXecution有啥区别

DelegateExecution 和 Execution 都是 Activiti 引擎中用于表示流程实例的执行对象,但它们在具体使用上有一些区别: DelegateExecution • 接口:DelegateExecution 是一个接口,继承自 VariableScope 接口。它主要在扩展点&#…

遗传算法与深度学习实战——进化深度学习

遗传算法与深度学习实战——进化深度学习 0. 前言1. 进化深度学习1.1 进化深度学习简介1.2 进化计算简介 2. 进化深度学习应用场景3. 深度学习优化3.1 优化网络体系结构 4. 通过自动机器学习进行优化4.1 自动机器学习简介4.2 AutoML 工具 5. 进化深度学习应用5.1 模型选择&…

【mybatis的批量操作】

在日常开发中,如果要操作数据库的话,或多或少都会遇到批量数据的处理,我们公司使用的mybaits-plus作为持久层的框架,今天就简单介绍一下mybaits批量操作数据库的几种方式。 1.循环插入 其实这种方式并不是批量插入,只…

功能实现——使用 OpenPDF 将 HTML 转换为 PDF,并将其上传到 FTP 服务器

目录 1.需求分析2.项目环境搭建3.将 HTML 转换为 PDF3.1.代码实现mail.htmlHtmlToPDFController.javaPDFConverterService.javaPDFConverterServiceImpl.java 3.2.测试3.3.注意事项 4.将生成的 PDF 上传到 FTP 服务器4.1.搭建 FTP 服务器4.2.配置文件4.3.代码实现FtpUtil.javaF…

谷粒商城实战笔记-75-商品服务-API-品牌管理-品牌分类关联与级联更新

文章目录 一,引入Mybatis Plus分页插件二,品牌列表的模糊查询三,增加品牌测试数据四,开发后台品牌关联分类接口1,接口product/categorybrandrelation/catelog/list2,接口product/categorybrandrelation/sav…

拓扑排序与有向无环图 -- Kahn算法和深度优先搜索

拓扑排序与有向无环图 文章目录 拓扑排序与有向无环图1. 什么是拓扑排序快速排序(Quick Sort)拓扑排序(Topological Sort)主要区别 2. 拓扑排序与有向无环图之间的契合性3. Kahn算法实现拓扑排序算法思想算法步骤算法代码 4. 深度…

线性回归从零实现

《李沐动手学深度学习》P30 import numpy as np import matplotlib.pyplot as plt import random# y x * w b noise # x dimension: (num_samples, 2) # w dimension: (2, 1) # b dimension: (1, 1) # noise dimension: (num_samples, 1) def generate_data(num_samples, w…