性能测试-Jmeter常用元件基础使用

一、Jmeter元件

在这里插入图片描述

#线程组
添加HTTP请求
#配置元件
配置元件内的元件都是用于进行初始化的东西
#监听器
监听器主要是用来获取我们使用取样器发送请求后的响应数据相关信息
#定时器
定时器主要用来控制我们多久后执行该取样器(发送请求)
#前置处理器
前置处理器是对我们的请求参数在执行前进行处理
#后置处理器
后置处理器是对我们请求后所返回的响应进行处理
#断言
判断结果是否符合预期的功能

执行顺序:

配置元件 - 前置处理程序 - 定时器 - 取样器 - 后置处理程序 - 断言 - 监听器

1.Jmeter线程

#线程组
控制Jmeter用于执行测试的一组用户,用于执行测试用例,可以有1个或者多个(并行/串行)
#Setup线程组
预测试操作,所有脚本之前执行
比如:测试用户购物功能时,用于执行用户的注册、登录等操作
#tearDown线程组
测试后操作,所有脚本之后执行
测试用户购物功能时,用于执行用户的退出等操作
tips:默认情况下,如果测试按预期完成,则TearDown线程组将不会运行。

在这里插入图片描述
线程组的并行或串行启动的开关按钮:
在这里插入图片描述

2.HTTP请求参数填写

在这里插入图片描述

3.参数处理
  • 全局参数
    HTTP请求头管理器,避免添加多个HTTP请求时,需要多次添加HTTP请求头信息
    在这里插入图片描述
  • 数据文件
    CSV数据文件设置—文件方式参数化
    使用:只需要在需要导入的地方采用${变量名}就可以使用
    在这里插入图片描述
    在这里插入图片描述
  • 函数–生成随机数据
    打开方式:工具–函数助手对话框
    在这里插入图片描述
    在这里插入图片描述
    总结

#全局变量
作用:定义全局变量
局限性:每次取值(无论用户)都是固定值
#数据文件
作用:保证不同用户在不同循环中取到不同参数
局限性:需要手动设置数据,当用户循环过多,数据设置过多显得繁杂
#函数参数
作用:自动生成不重复的数据,让每个用户每次循环都获取到不同的数据,且不需要提前定义
局限性:针对特定要求的场景,无法使用,泛用性较低(例如需要输入正确的账号密码进行登录时)

4.Jmeter断言
  • 响应断言
    在这里插入图片描述

1.响应断言下方的名称和注释就是该响应断言的展示属性
2.apply to 这里我们选择默认 Main sample only 即可
3.测试字段主要是指我们是根据response的哪一部分来进行断言匹配
响应文本:来自服务器的响应文本,即主题
响应代码:响应状态码,例如200
响应信息:响应的信息,例如OK
响应头:响应头部
请求头:请求头部
URL样本:请求URL路径
文本:响应的整个文本信息
请求数据:请求数据
忽略状态:请注意这里是复选框,因为我们的断言有响应码自动判断机制,如果我们需要判断响应码为非200状态,我们需要将其勾选防止报错
4.模式匹配规则
包括:文本包含指定的正则表达式
匹配:整个文本完全匹配指定的正则表达式
相等:整个返回结果文本完全匹配指定的字符串
字符串:返回结果文本包含指定的字符串
否:当存在多个测试模式时,默认为and(当全部满足才通过断言),如果勾选这里相当于!(全部不满足才通过断言)
或者:当存在多个测试模式时,默认为and(当全部满足才通过断言),如果勾选这里相当于or(存在一个满足就通过断言)
当然否和或者你也可以一起使用,相当于!or(存在一个不满足就通过断言)
5.测试模式
我们可以添加多个测试模式
测试模式其实就是断言的判断值,与response进行比较
结果值 比较方式 预期值 --> ${测试字段} ${模式匹配规则} ${测试模式}
例如:text == “百度一下,你就知道”

在这里插入图片描述

  • json断言
    在这里插入图片描述
    这是一个json格式的返回数据,我们来根据这个返回值进行匹配
    在这里插入图片描述在这里插入图片描述
    断言结果
    在这里插入图片描述
5.正则表达式提取器

我们常用的匹配符号主要包含以下三种:
.:是通配符,可以代表任意字符(除换行回车)
*: 代表前面的字符出现0次或者多次
.*匹配规则:找到左边界值后,往右查找有边界,找到最后面的右边界,中间的所有数据都被记录下来
?: 代表非贪婪匹配,找到左边界后,往右查找匹配右边界,只要有匹配的右边界就停止继续查找;再次查找

例如我们要查找’hello world’
返回数据格式:“hello worldhello world
我们使用 (.<em>)</em>,会一直往后寻找到最后一个标识符,匹配到的就是 hello worldhello world<br/> 我们使用<title>(.?),找到第一个就会停下,匹配到的就是hello world

6.JSON提取器

JSON提取器主要针对返回结果是JSON的响应结果数据进行提取
在这里插入图片描述

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

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

相关文章

为什么手机和电视ip地址不一样

在数字化时代&#xff0c;我们每天都会与各种电子设备打交道&#xff0c;其中最常见的就是手机和电视。当我们连接到互联网时&#xff0c;这些设备都会被分配一个独特的IP地址&#xff0c;用于在网络上进行标识和通信。然而&#xff0c;您可能已经注意到&#xff0c;即使手机和…

1.MongoDB的特点与应用场景

什么是 MongoDB &#xff1f; MongoDB 是基于 C 开发的 NOSQL 开源文档数据库 &#xff0c;是最像关系型数据库的 nosql&#xff0c;功能也是最丰富的 nosql&#xff0c;它具有所以的可伸缩性&#xff0c;灵活性&#xff0c;高性能&#xff0c;高扩展性的优势。 大致有如下特…

【Stable Diffusion】入门-04:不同模型分类+代表作品+常用下载网站+使用技巧

目录 1 模型简介2 模型文件构成和加载位置2.1 存储位置2.2 加载模型 3 模型下载渠道3.1 HuggingFace3.2 Civitai 4 模型分类4.1 二次元模型4.2 写实模型4.3 2.5D模型 1 模型简介 拿图片给模型训练的这个过程&#xff0c;通常被叫做“喂图”。模型学习的内容不仅包括对具体事物…

云平台基本介绍 —— 什么是云原生及云服务器的购买和使用

云原生概述 在了解什么是云原生之前&#xff0c;我们先了解一下什么是云计算 什么是云计算 云计算是一种通过互联网提供计算资源和服务的模式。它允许用户通过网络访问虚拟化的计算资源&#xff0c;包括计算能力、存储空间和应用程序&#xff0c;而无需拥有实际的物理设备。…

uniapp h5 部署

uniapp 配置 服务器文件路径 打包文件结构 //nginx 配置 server {listen 8300;server_name bfqcwebsiteapp;charset utf-8;#允许跨域请求的域&#xff0c;* 代表所有add_header Access-Control-Allow-Origin *;#允许带上cookie请求add_header Access-Control-Allow-C…

WRF模型运行教程(ububtu系统)-- IV-1.模型相关文件参数说明【namelist.wps文件、namelist.input文件】

一、namelist.wps文件 文件位置&#xff1a;Build_WRF/WPS WPS模块有主要的三大程序geogrid.exe、ungrib.exe、metgrid.exe&#xff0c;namelist.wps文件是输入到这三大程序的配置文件。 namelist.wps文件一共包括四个部分&#xff1a;share, geogrid, ungrib和metgrid。 每个主…

2、鸿蒙学习-申请调试证书和调试Profile文件

申请发布证书 发布证书由AGC颁发的、为HarmonyOS应用配置签名信息的数字证书&#xff0c;可保障软件代码完整性和发布者身份真实性。证书格式为.cer&#xff0c;包含公钥、证书指纹等信息。 说明 请确保您的开发者帐号已实名认证。每个帐号最多申请1个发布证书。 1、登录AppGa…

PyQt5使用

安装Pyqt5信号与槽使用可视化界面编辑UI (Pyside2)ui生成之后的使用(两种方法)1 ui转化为py文件 进行import2 动态调用UI文件 安装Pyqt5 pip install pyqt5-tools这时候我们使用纯代码实现一个简单的界面 from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButto…

面试笔记——Redis(缓存击穿、缓存雪崩)

缓存击穿 缓存击穿&#xff08;Cache Breakdown&#xff09;&#xff1a; 当某个缓存键的缓存失效时&#xff08;如&#xff0c;过期时间&#xff09;&#xff0c;同时有大量的请求到达&#xff0c;并且这些请求都需要获取相同的数据&#xff0c;这些请求会同时绕过缓存系统&a…

豆瓣电影信息爬取与可视化分析

目录 一、项目背景 二、代码 三、总结 一、项目背景 &#xff08;1&#xff09;利用requests库采集豆瓣网分类排行榜 (“https://movie.douban.com/chart”)中各分类类别前100部电影的相关信息并存储为csv文件。 &#xff08;2&#xff09;利用获取的13个分类类别共1300部电…

Leetcode 1. 两数之和

心路历程&#xff1a; 很简单的题&#xff0c;双层暴力就可以&#xff0c;用双指针的话快一点。暴力时间复杂度O( n 2 n^2 n2)&#xff0c;双指针时间复杂度O(nlogn) O(n) O(n) O(nlogn)。 注意的点&#xff1a; 1、题目需要返回原数组的索引&#xff0c;所以排序后还需要…

x6.js 从流程图组件库中拖拽组件到画布dnd使用

上一篇已经了解到了x6.js常用功能以及使用方法。但我们使用流程图的时候还少不了一个非常重要的功能那就是拖拽组件库里的组件进来。如下图&#xff1a; 首先是布局这块&#xff0c;拖拽组件库的视图中布局无需我们去写&#xff0c;我们只需把界面搭建好。 添加组件库 1.搭建布…

开班在即 | 全栈开发与自动化测试高薪私教班,带你从0到1拿到高薪Offer

随着ChatGPT的火爆以及人工智能的崛起&#xff0c;在互联网工作的我们仿佛都感受到了职业危机。同时&#xff0c;我们也应该看到&#xff0c;人工智能技术的发展也带来了新的机遇&#xff0c;只要利用好人工智能&#xff0c;便会大大提升我们的工作效率。比如说&#xff0c;我们…

数据结构与算法Bonus-KNN问题的代码求解过程

一、问题提出 &#xff08;一&#xff09;要求 1.随机生成>10万个三维点的点云&#xff0c;并以适当方式存储 2.自行实现一个KNN算法&#xff0c;对任意Query点&#xff0c;返回最邻近的K个点 3.不允许使用第三方库(e.g.flann&#xff0c;PCL,opencv)! 4.语言任选(推荐…

智慧城市与数字经济:共创城市新价值

随着科技的快速发展&#xff0c;智慧城市与数字经济已成为推动城市现代化进程的重要引擎。它们不仅提升了城市治理的效率和公共服务水平&#xff0c;还为城市经济发展注入了新的活力。本文旨在探讨智慧城市与数字经济如何共同创造城市新价值&#xff0c;并分析其面临的挑战与发…

【晴问算法】入门篇—贪心算法—整数配对

题目描述 有两个正整数集合S、T&#xff0c;其中S中有n个正整数&#xff0c;T中有m个正整数。定义一次配对操作为&#xff1a;从两个集合中各取出一个数a和b&#xff0c;满足a∈S、b∈T、a≤b&#xff0c;配对的数不能再放回集合。问最多可以进行多少次这样的配对操作。 输入描…

YOLOv5目标检测学习(4):YOLOV5源码的文件结构解析

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言①py、cpp、java后缀的文件②md、txt、yml后缀的文件③yaml后缀的文件 一、.github文件夹1.1 workflows文件夹&#xff1a;该文件夹通常包含GitHub Actions 的工…

人工智能如何撬动新质生产力发展?

全国两会期间&#xff0c;“新质生产力”成为高频词&#xff0c;引发高度关注。新质生产力是由技术革命性突破、生产要素创新性配置、产业深度转型升级催生的当代先进生产力。而人工智能被视为形成新质生产力的重要引擎。 随着人工智能&#xff08;AI&#xff09;技术跨越奇点…

软件工程-第3章 软件需求与软件需求规约

3.1 需求与需求的获取 需求发现技术&#xff1a;自悟、交谈、观察、小组会、提炼。 3.2 需求规约SRS及其格式 3.3 本章小结

Java 根据IP获取IP地址信息(离线)

<!-- https://mvnrepository.com/artifact/org.lionsoul/ip2region --><dependency><groupId>org.lionsoul</groupId><artifactId>ip2region</artifactId><version>2.7.0</version></dependency> 地址&#xff1a;http…