当前位置: 首页 > news >正文

性能测试工具JMeter

本次使用的博客系统的url:

http://8.137.19.140:9090/blog_edit.html

1. JMeter介绍

        环境要求:要求java,jdk版本大于8;

        Apache JMeter 是 Apache 组织基于 Java 开发的压⼒测试⼯具,⽤于对软件做性能测试;

1.1 安装JMeter

        1.下载tar包,解压即可。

        解压完成后:

1.2 打开JMeter

        ⽅式⼀:点击bat⽂件 

 ⽅式⼆:命令⾏启动(推荐)

        step1:添加JMeter系统环境变量

step2:保存后打开命令⾏⼯具 

        直接输入jmeter:

        输⼊命令jmeter即可启动JMeter⼯具;

 1.3 JMeter基础配置

        修改字体为中⽂:详细操作见关于jmeter设置为中文问题之后无法保存设置的若干问题-CSDN博客

1.4 JMeter基本使⽤流程

        测试使用url:博客登陆页

2.重点组件

2.1 添加线程组

        页面如下所示:

2.2. 添加请求

        在“线程组”下添加“HTTP”取样器

页面如下所示:

        运行请求,如下所示,选择好脚本地址,

 

运行结果如下:在结果树中查看;

2.3 添加监听器

        在“线程组”下添加“查看结果树”监听器

        页面如下:

        请求失败的情况下:

当有很多的线程并发测试时,我们使用聚合报告来查看测试结果;

页面如下所示:

2.4 http cookie管理器

2.5 HTTP请求默认值

        由于一个系统的ip多核端口都是一样的,所一针对http请求进行一些设置:

 当取样器中没有配置的选项,会直接去http请求默认值配置中取;取样器中配置了选项的不回去http请求默认配置中去取;

2.6 HTTP信息头管理器

        我们的博客列表页总是不能成功登录:

        尝试在postman中添加登录验证的元素之后发现能够登录成功;

        故此在jmeter中尝试添加新的元素:

 页面添加如下:

        运行结果如下:

        信息头管理器所处的位置会影响所作用的文件:

2.7 json提取器

        接⼝响应成功,通过提取返回值对应字段,可⽤于其他接⼝的参数配置

1、添加JSON提取器

        针对博客列表页的登录凭证,我们进行json提取,json提取器页面如下所示:

 2、JSON操作符参考:

3、对于提取出来的元素进行如下验证:

         输入表达式,点击右侧的test检查json提取表达式是否写的正确;

4、将提取出来的登录接口的data数值,作为列表页面接口的请求信息,关系逻辑图如下所示:

         解决博客id不存在的问题,博客列表页会返回有效的博客id,提取出来作为详情页的参数值;

        进行一下处理: 

 自定义通用变量:

2.8 博客添加功能

postman显示成功添加,jmeter请求页如下所示:

请求体如下:

        结果如下:

        此时jmster请求失败,原因如下:

        所以给博客添加液增加信息头管理,添加相应的参数如下:

此时运行结果如下:

2.9 json断言 

        接⼝发送请求成功,响应码为200并不能完全代表接⼝请求成功,我们更多需要关注接⼝响应数据是否 符合预期。

1、添加JSON断⾔

2、添加JSON配置

        同JSON提取器语法配置

ps:本文就写到这里了!

http://www.lryc.cn/news/463203.html

相关文章:

  • Kubernetes ETCD的恢复与备份
  • 笔记整理—linux网络部分(2)Linux网络框架
  • 深度学习500问——Chapter17:模型压缩及移动端部署(5)
  • 分布式ID多种生成方式
  • 时间序列预测(六)——循环神经网络(RNN)
  • Day2算法
  • 智洋创新嵌入式面试题汇总及参考答案
  • 无线网卡知识的学习-- wireless基础知识(nl80211)
  • 除了 Python,还有哪些语言适合做爬虫?
  • JS | JS中类的 prototype 属性和__proto__属性
  • 15分钟学Go 第3天:编写第一个Go程序
  • 简单的常见 http 响应状态码
  • 2024年【安全员-C证】复审考试及安全员-C证模拟考试题
  • RT-Thread之STM32使用定时器实现输入捕获
  • 数字图像处理:图像分割应用
  • Java面试宝典-并发编程学习02
  • 【每日一题】洛谷 - 快速排序模板
  • Django模型优化
  • Python实现火柴人的设计与实现
  • 衡石分析平台系统分析人员手册-应用模版
  • Git和SVN
  • 【C语言教程】【常用类库】(十八)宏与预处理 - <stddef.h> 和 <stdbool.h>
  • 订单超时过期的实现方案的探讨
  • C++中的CRTP
  • go压缩的使用
  • 一图解千言,了解常见的流程图类型及其作用
  • 【微信小程序_19_自定义组件(1)】
  • 标准版admin后台页面添加及开发操作流程及注意事项
  • ‘perl‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  • 如何利用CMMI帮助组织消除低价值流程