【软件测试】使用JMeter进行压力测试_1

目录

[1. JMeter安装与启动](#1. JMeter安装与启动)

[1.1 JMeter安装](#1.1 JMeter安装)

[1.2 JMeter启动](#1.2 JMeter启动)

[2. JMeter中文配置](#2. JMeter中文配置)

[3. 基础组件:线程组、查看结果树、HTTP请求默认值](#3. 基础组件:线程组、查看结果树、HTTP请求默认值)

[4. HTTP信息头管理器](#4. HTTP信息头管理器)

[4.1 线程组全局配置](#4.1 线程组全局配置)

[4.2 子接口配置](#4.2 子接口配置)

[4.3 JMeter元件作用域与执行顺序](#4.3 JMeter元件作用域与执行顺序)


1. JMeter安装与启动

1.1 JMeter安装

在apache-jmeter官网下载压缩包解压即可,官网地址如下:

https://jmeter.apache.org/download_jmeter.cgihttps://jmeter.apache.org/download_jmeter.cgi

1.2 JMeter启动

启动方法1:在JMeter目录下双击jmeter.bat启动:

启动方法2:配置环境变量-在命令行提示符使用jmeter启动程序

2. JMeter中文配置

修改JMeter安装目录下的jmeter.properties文件,修改为使用中文:

把language设置为zh_CN:

3. 基础组件:线程组、查看结果树、HTTP请求默认值

以已部署到云服务器的现有项目为例,创建测试计划后再创建线程组,再创建:

取样器->HTTP请求、监听器->查看结果树、配置元件->HTTP请求默认值:

(1)线程组设置线程相关信息:

(2)HTTP请求默认值:

(3)HTTP请求:

(4)查看结果树

注:(1)在JMeter中,取样器Sampler是真正执行发送请求、接收响应、并记录响应时间等数据的组件,JMeter支持多个协议的取样器,比如TCP、FTP等等,此处创建HTTP协议的取样器;

(2)测试某一IP与端口下的多个路径时,若采用创建多个HTTP请求,在其中每次填写web服务器的方式会比较麻烦,可创建一个与该HTTP请求同级的HTTP请求默认值,在HTTP请求默认值中填充web服务器信息后,在其余的多个HTTP请求中即可不用再重复填写;

4. HTTP信息头管理器

4.1 线程组全局配置

系统可能配有拦截器来实现强制登录,对拦截路径直接测试会报401 Unauthorized错误:

需要额外创建一个配置元件:HTTP信息头管理器。

首先在Chrome(或其他客户端)上直接访问拦截路径,获取到当前的登录凭证:user_token

线程组层次下添加一个HTTP信息头管理器 ,对应填写user_token:值,使这个信息头作用在整个线程组

重新运行即可成功测试:

注:在前端获取请求Header时,需勾选Raw。浏览器会对原始HTTP请求头的命名格式进行美化:

而实际上浏览器真正发出去的HTTP请求的原始数据流格式并非这种首字母大写的格式,如果没有勾选raw,就会使得后端无法正确识别。

4.2 子接口配置

实际上对于登录路径无需配置HTTP信息头管理器,HTTP信息头管理器可以直接作为获取博客列表的子接口 ,此时该HTTP请求头信息仅作用在博客列表页

4.3 JMeter元件作用域与执行顺序

(1)JMeter元件的作用域主要由测试计划的树形结构中的元件父子关系来确定;

(2)取样器元件不依赖于其他元件就可以执行,因此取样器不存在作用域问题;

元件作用域只对它的子结点有作用;

其他作用域默认根据测试计划中树形结构来定;

相关推荐
Cd ...2 小时前
RobotFramework Browser库找不到元素(本地测试和服务器不一致)
自动化测试·测试工具·playwright
测试199812 小时前
2026最新软件测试面试八股文【附文档】
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例
brucelee18618 小时前
[特殊字符] PostgreSQL 数据库压力测试完整流程(JMeter版)
数据库·postgresql·压力测试
迷藏49419 小时前
# 发散创新:基于Selenium的自动化测试框架重构与实战优化在当今快速迭代的软件开
java·python·selenium·测试工具·重构
U盘失踪了1 天前
JMeter 线程组
jmeter
三维频道1 天前
破局与重构:DIC全场视觉检测如何跨越汽车板料成形的“量产鸿沟”?
人工智能·压力测试·智能制造与视觉检测·冲压量产验证·dic工业落地·汽车试模降本·材料本构与测试
熙客1 天前
MySQL数据库压力测试:Sysbanch
数据库·mysql·压力测试