当前位置:网站首页>jmeter性能测试步骤实战教程
jmeter性能测试步骤实战教程
2022-07-06 07:20:00 【自动化测试君】
1. Jmeter是什么?


2. Jmeter安装
2.1 JDK安装
由于Jmeter是基于java开发,首先需要下载安装JDK (目前JMeter只支持到Java 8,尚不支持 Java 9)
1. 官网下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
2. 选择Java SE 8u151/ 8u152,点击JDK下载

3. 安装下载的JDK
4. 配置系统环境变量
2.2 JMeter安装
官网下载地址:http://jmeter.apache.org/download_jmeter.cgi
下载最新JMeter 5.5版本:apache-jmeter-5.5.zip

下载完成后解压zip包
启动JMeter
双击JMeter解压路径(apache-jmeter-5.5\bin)bin下面的jmeter.bat即可


3. 测试实例
我们选取最常见的百度搜索接口:
3.1 接口地址
http://www.baidu.com/s?ie=utf-8&wd=jmeter性能测试
3.2 请求参数
ie:编码方式,默认为utf-8
wd: 搜索词
3.3 返回结果
搜索结果,我们可以通过校验结果中是否含有搜索词wd来判断本次请求成功或失败。

4. JMeter脚本编写
4.1 添加线程组
右键点击“测试计划” -> “添加” -> “Threads(Users)” -> “线程组”

这里可以配置线程组名称,线程数,准备时长(Ramp-Up Period(in seconds))循环次数,调度器等参数:


因为接口调试需要,我们暂时均使用默认设置,待后面真正执行性能测试时再回来配置。
4.2 添加HTTP请求
右键点击“线程组” -> “添加” -> “Sampler” -> “HTTP请求”

对于我们的接口http://www.baidu.com/s?ie=utf-8&wd=jmeter性能测试,可以参考下图填写:
Http请求主要参数详解:

4.3 添加察看结果树
右键点击“线程组” -> “添加” -> “监听器” -> “察看结果树”

这时,我们运行Http请求,修改响应数据格式为“HTML Source Formatted”,可以看到本次搜索返回结果页面标题为”jmeter性能测试_百度搜索“。
4.4 添加用户自定义变量
我们可以添加用户自定义变量用以Http请求参数化,右键点击“线程组” -> “添加” -> “配置元件” -> “用户定义的变量”:

新增一个参数wd,存放搜索词:
并在Http请求中使用该参数,格式为:${wd}
4.5 添加断言
右键点击“HTTP请求” -> “添加”-> “断言” -> “响应断言”

我们校验返回的文本中是否包含搜索词,添加参数${wd}到要测试的模式中:

4.6 添加断言结果
右键点击“HTTP请求” -> “添加”-> “监听器” -> “断言结果”

这时,我们再运行一次就可以看到断言结果成功或失败了

4.7 添加聚合报告
右键点击“线程组” -> “添加” -> “监听器” -> “聚合报告”,用以存放性能测试报告

这样,我们就完成了一个完整Http接口的JMeter性能测试脚本编写。

5. 执行性能测试
5.1 配置线程组
点击线程组,配置本次性能测试相关参数:线程数,循环次数,持续时间等,这里我们配置并发用户数为10,持续时间为60s

5.2 执行测试
点击绿色小箭头按钮即可启动测试,测试之前需要点击小扫把按钮清除之前的调试结果。


6. 分析测试报告
待性能测试执行完成后,打开聚合报告可以看到:


如果这篇文章对你有帮助,请给小编点个赞!这样我才有动力继续更新下去!
今天的小知识学会了么
欢迎在留言区跟我们互动噢~
觉得有所帮助的话点个赞呗
最后是小编自己整理的一些学习资料笔记和上述jmeter测试性能工具全套使用教程
想要小编学习资料笔记文档和上述postman接口测试工具全套使用教程
【私信我关键词“999”免费获取】高薪简历模板(面试宝典免费领)
高薪简历模板(面试宝典免费领)


高薪简历模板(面试宝典免费领)
![]()
边栏推荐
- The differences and advantages and disadvantages between cookies, seeion and token
- TypeScript void 基础类型
- LeetCode Algorithm 2181. Merge nodes between zero
- Leetcode35. search the insertion position (simple, find the insertion position, different writing methods)
- 杰理之普通透传测试---做数传搭配 APP 通信【篇】
- 作者已死?AI正用艺术征服人类
- TypeScript 接口属性
- Path analysis model
- 1091: two or three things in childhood (multi instance test)
- 杰理之需要修改 gatt 的 profile 定义【篇】
猜你喜欢

Upgraded wechat tool applet source code for mobile phone detection - supports a variety of main traffic modes

leetcode704. Binary search (find an element, simple, different writing)

Summary of Digital IC design written examination questions (I)

剪映的相关介绍

树莓派串口登录与SSH登录方法

The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower

【线上问题处理】因代码造成mysql表死锁的问题,如何杀掉对应的进程

Uncaught typeerror: cannot red properties of undefined (reading 'beforeeach') solution

How Navicat imports MySQL scripts

How MySQL merges data
随机推荐
Sélectionnez toutes les lignes avec un symbole dans Word et changez - les en titre
word删除括号里内容
杰理之需要修改 gatt 的 profile 定义【篇】
js对象获取属性的方法(.和[]方式)
杰理之普通透传测试---做数传搭配 APP 通信【篇】
MPLS experiment
C - Inheritance - polymorphism - virtual function member (lower)
杰理之如若需要大包发送,需要手机端修改 MTU【篇】
idea控制台彩色日志
可变参数重载时的内存错误
Applied stochastic process 01: basic concepts of stochastic process
Detailed explanation | detailed explanation of internal mechanism of industrial robot
【MySQL学习笔记32】mvcc
GET/POST/PUT/PATCH/DELETE含义
LeetCode Algorithm 2181. Merge nodes between zero
Simple and understandable high-precision addition in C language
杰理之蓝牙设备想要发送数据给手机,需要手机先打开 notify 通道【篇】
chrome查看页面fps
【mysql学习笔记30】锁(非教程)
[MySQL learning notes 32] mvcc