【初识Jmeter】【接口自动化】

news/2024/7/12 3:14:03 标签: jmeter, 自动化, https

jmeter的使用笔记1

  • Jmeter介绍与下载安装
    • 介绍
    • 安装配置
    • 配置与扩展组件
  • jmeter的使用
    • 基本功能元素
    • 登陆请求与提取cookie
    • 其他请求接口关联Cookie-响应成功
    • 聚合报告查看

Jmeter介绍与下载安装

介绍

  • jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简 单。因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在linux/windows/macos上都可以使用;
  • jmeter可以做接口测试和压力测试。其中接口测试的简单操作包括做http脚本(发get/post请求、加cookie、加header、加权 限认证、上传文件)、做webservice脚本、参数化、断言、关联(正则表达式提取器和处理json-json path extractor)和jmeter操作数据库等。

安装配置

  • 首先需要安装jdk:下载地址

  • jmeter5.3版本需要jdk1.8及以上:安装jmeter插件

  • 一键安装完成后配置环境:
    JAVA_HOME:变量值为 jdk 的安装路径
    新建变量名:CLASSPATH ,变量值: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
    path 变量下新建值:%JAVA_HOME%\bin

  • 校验是否配置成功:win+R,打开运行,输入cmd
    java -version :校验java版本信息
    javac.exe:检验javac.exe命令
    java.exe:检验java.exe命令
    https://img-blog.csdnimg.cn/3ce002217be54eea9e1c10af7e41d143.png" alt="在这里插入图片描述" />

  • 安装jmeter:下载路径

  • 配置jmeter环境变量配置:
    创建系统变量:JMETER_HOME 值为:jmeter解压目标地址
    创建系统变量:classpath:变量值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;
    点击确定保存在path变量 新增变量值:Path:%JMETER_HOME%\bin

  • 打开jmeter/bin/目录下的jmeter.bat看是否正确运行:
    https://img-blog.csdnimg.cn/b48ca4ee21d846df8bc29022e5eb41d9.png" alt="在这里插入图片描述" />

配置与扩展组件

(1)JMeter官网文档
组件链接:https://jmeter.apache.org/usermanual/component_reference.html
函数链接:https://jmeter.apache.org/usermanual/functions.html
(2)目录和文件介绍(windows)
[1]、apache-jmeter-5.4.3\bin\jmeter.bat,启动文件,双击一下就打开了
[2]、apache-jmeter-5.4.3\bin\ jmeter.log,日志文件
一般不要关注,除非使用自己编写的扩展包的时候报错,需要定位,才需要看。
[3]、apache-jmeter-5.4.3\lib\ext,扩展包目录
比如现在要连接MongoDB数据,需要导入mongo-java-driver-3.12.11.jar,则放到这个目录。
[4]、汉化apache-jmeter-5.4.3\bin\ jmeter.properties,加上下一句即可
https://img-blog.csdnimg.cn/4a85ed2bfc954694b97bacaad44cbe56.png" alt="在这里插入图片描述" />

jmeter_40">jmeter的使用

基本功能元素

  • TestPlan:测试计划,相当于一个测试工程(测试内容),可包含多个线程组;
  • Thread Group:线程组,相当于模拟的请求数;
  • HTTP请求:url为所测的接口路径,协议为http或https,请求方式为GET或POST,服务器域名或IP,
  • HTTP请求默认值:可将相同的【服务器名称】【协议】【编码】和【端口号】配置成默认的。线程组下面的每个http请求都会带上这些参数,相当于该线程组的全局常量;
  • Assertions:断言,对于请求结果进行判断,用作结果数据的校验;
  • 察看结果树:监听发送请求时各个请求的状态;
  • 聚合报告:把一次测试的数据汇总,包括线程数、请求处理吞吐量等性能指标;
  • 监听器 Lisrener:收集整理测试结果、将测试结果数据进行处理并展示、生成xml、csv等形式的文件,供后续参考分析;
  • 逻辑控制器 LogicController:控制取样器发送请求的逻辑和顺序、控制取样器本身、模拟复杂的逻辑请求;
  • 定时器 Timer:设置请求时间的时间间隔;

登陆请求与提取cookie

步骤如下:
(1)添加http请求默认值:写入待登陆网站的请求方式https、域名、地址等默认数据;
https://img-blog.csdnimg.cn/a04910169e6a46deacd9c2b34e22ad97.png" alt="在这里插入图片描述" />
(2)添加http请求:写入请求方式与地址及参数;
https://img-blog.csdnimg.cn/7bc00798ad894a6ca0de512a58ff96b5.png" alt="在这里插入图片描述" />
(3)正则表达式提取器:提取登陆接口成功响应时响应头中的Set-Cookie
前置:登录接口抓包,提前查看响应内容与响应头信息格式
https://img-blog.csdnimg.cn/0de7947165784ecfb0ec599e273bc2e1.png" alt="在这里插入图片描述" />
(4)JSON断言:可添加登录结果的断言
https://img-blog.csdnimg.cn/efdd72b50e5e44dbbc44ce5f32bba3cd.png" alt="在这里插入图片描述" />
(5)调试取样器:可查看登陆结果与Set-Cookie提取的结果
https://img-blog.csdnimg.cn/ff6fbe40619049abaf519334ec3421fe.png" alt="在这里插入图片描述" />
注意:提取了Cookie之后后续关于网站的其他接口的请求头都需要用到该已登录的校验信息,故需要将提取到的Set-Cookie存入该线程公用的HTTP信息头中;因此还需要如下操作:
(6)BeanShell 后置处理程序:
https://img-blog.csdnimg.cn/decca9f29a394783a3e0b50563f14e6a.png" alt="在这里插入图片描述" />
(7)HTTP Cookie管理器:可调用登录接口提取到的Cookie
https://img-blog.csdnimg.cn/640b5a180e6445d6be7dbf038dfe0a08.png" alt="在这里插入图片描述" />
(8)HTTP信息头管理器:将Cookie存入公用的请求头中便于后续接口的关联与使用
https://img-blog.csdnimg.cn/c8494e0c29204b33b301e3ed7f8db616.png" alt="在这里插入图片描述" />
(9)最后添加察看结果数
https://img-blog.csdnimg.cn/b261b38c757d4918b231e9bec56ae66a.png" alt="在这里插入图片描述" />

其他请求接口关联Cookie-响应成功

前置:根据上一步将登录接口提取到的Cookie提取-保存-关联至HTTP信息头中,之后的接口可直接关联使用;
写入改接口请求方式、地址、参数
https://img-blog.csdnimg.cn/3dbc53a7706e41e18a61015bc4e10860.png" alt="在这里插入图片描述" />
结果:该接口请求头中成功关联Cookie信息
https://img-blog.csdnimg.cn/b830b06cd5794b1696ee178fb4cd8288.png" alt="在这里插入图片描述" />

聚合报告查看

https://img-blog.csdnimg.cn/2bbd6764d9ea4c24a7c6d10437e13dae.png" alt="在这里插入图片描述" />


http://www.niftyadmin.cn/n/5073091.html

相关文章

Harmony跨进程通信—IPC与RPC通信开发指导

一、IPC与RPC通信概述 基本概念 IPC(Inter-Process Communication)与RPC(Remote Procedure Call)用于实现跨进程通信,不同的是前者使用Binder驱动,用于设备内的跨进程通信,后者使用软总线驱动&a…

数据结构 | (四) Queue

队列 :只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 FIFO(First In First Out) 入队列:进行插入操作的一端称为 队尾( Tail/Rear ) 出队列:进行删除操…

数据结构--》解锁数据结构中树与二叉树的奥秘(一)

数据结构中的树与二叉树,是在建立非线性数据结构方面极为重要的两个概念。它们不仅能够模拟出生活中各种实际问题的复杂关系,还常被用于实现搜索、排序、查找等算法,甚至成为一些大型软件和系统中的基础设施。 无论你是初学者还是进阶者&…

one-hot独热编码

到目前为止,表示分类变量最常用的方法就是使用one-hot编码或N取一编码,也叫虚拟变量。虚拟变量背后的思想是将一个分类变量替换为一个或多个新特征,新特征取值为0或1.对于线性二分类(以及scikit-learn中其他所有模型)的…

【Docker】 docker中apt-get update过慢,这样配置瞬间提速!

docker中apt-get update过慢,这样配置瞬间提速! 源官网全球镜像站 源 今天办公地点的网络出奇的差,看电影看小说打游戏完全没影响,只要更新就蜗速前进,只能从网上翻下,看看有没有网速快的下载源。 碰巧看到…

低功耗对于IOT来说是必备技术吗?

万物互联的时代,现代人已普遍接受电视、音箱等电器设备具备智能化能力,也是在这个趋势下,我们身边越来越多的 iot 设备联网和交互成为刚需。 但 iot 设备也面临到一些非常显著的痛点,例如iot设备的内存、处理器等核心元件无法与手…

D1S板子烧录问题排查过程

1、问题描述 1、按照《03_搭建开发环境与体验第1个程序.md》文档烧录doc_and_source_for_mcu_mpu\D1S\source\02_uart\里的程序,复位后串口打印符号,没有按预期打印; 2、同样的程序,使用gdb进行调试,串口输出打印正常&…

ffmpeg ts 关于av_seek_frame

1 ffmpeg命令行 一般对视频文件的裁剪 我们通过一行 ffmpeg命令行即可实现,比如 ffmpeg -ss 0.5 - t 3 - i a.mp4 vcodec copy b.mp4 其中 -ss 放置较前 开启精准seek定位 对于mp4而言 seek将从moov中相关索引表查找 0.5s时刻附近最近的关键帧 (此描述…