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

jmeter的使用笔记1

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命令

  • 安装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看是否正确运行:

配置与扩展组件

(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://file.jishuzhan.net/article/1712127119615594498/bea8e96178de36d5a3b79e2558dbd387.webp) ## jmeter的使用 ### 基本功能元素 * TestPlan:测试计划,相当于一个测试工程(测试内容),可包含多个线程组; * Thread Group:线程组,相当于模拟的请求数; * HTTP请求:url为所测的接口路径,协议为http或https,请求方式为GET或POST,服务器域名或IP, * HTTP请求默认值:可将相同的【服务器名称】【协议】【编码】和【端口号】配置成默认的。线程组下面的每个http请求都会带上这些参数,相当于该线程组的全局常量; * Assertions:断言,对于请求结果进行判断,用作结果数据的校验; * 察看结果树:监听发送请求时各个请求的状态; * 聚合报告:把一次测试的数据汇总,包括线程数、请求处理吞吐量等性能指标; * 监听器 Lisrener:收集整理测试结果、将测试结果数据进行处理并展示、生成xml、csv等形式的文件,供后续参考分析; * 逻辑控制器 LogicController:控制取样器发送请求的逻辑和顺序、控制取样器本身、模拟复杂的逻辑请求; * 定时器 Timer:设置请求时间的时间间隔; ### 登陆请求与提取cookie 步骤如下: (1)添加http请求默认值:写入待登陆网站的请求方式https、域名、地址等默认数据; ![在这里插入图片描述](https://file.jishuzhan.net/article/1712127119615594498/973620ec0f7b32f48ff4059e976c72d2.webp) (2)添加http请求:写入请求方式与地址及参数; ![在这里插入图片描述](https://file.jishuzhan.net/article/1712127119615594498/97bed13f7a288acf16f6c0540f233d96.webp) (3)正则表达式提取器:提取登陆接口成功响应时响应头中的Set-Cookie 前置:登录接口抓包,提前查看响应内容与响应头信息格式 ![在这里插入图片描述](https://file.jishuzhan.net/article/1712127119615594498/03871f7be416850641592fadffbe9d52.webp) (4)JSON断言:可添加登录结果的断言 ![在这里插入图片描述](https://file.jishuzhan.net/article/1712127119615594498/4b5d7aea09d07629c5dcaf09e6852eeb.webp) (5)调试取样器:可查看登陆结果与Set-Cookie提取的结果 ![在这里插入图片描述](https://file.jishuzhan.net/article/1712127119615594498/e34b44b201465ec3aba88ed7cb32ee9c.webp) 注意:提取了Cookie之后后续关于网站的其他接口的请求头都需要用到该已登录的校验信息,故需要将提取到的Set-Cookie存入该线程公用的HTTP信息头中;因此还需要如下操作: (6)BeanShell 后置处理程序: ![在这里插入图片描述](https://file.jishuzhan.net/article/1712127119615594498/ae05abf73ad72cbc9698465b8f534dd7.webp) (7)HTTP Cookie管理器:可调用登录接口提取到的Cookie ![在这里插入图片描述](https://file.jishuzhan.net/article/1712127119615594498/d401d146d234618d7b7139344e2237e9.webp) (8)HTTP信息头管理器:将Cookie存入公用的请求头中便于后续接口的关联与使用 ![在这里插入图片描述](https://file.jishuzhan.net/article/1712127119615594498/49aa7636fe2a16170c5aae69c97842ee.webp) (9)最后添加察看结果数 ![在这里插入图片描述](https://file.jishuzhan.net/article/1712127119615594498/6824f737a8ec4fc6890771bb71144cbf.webp) ### 其他请求接口关联Cookie-响应成功 前置:根据上一步将登录接口提取到的Cookie提取-保存-关联至HTTP信息头中,之后的接口可直接关联使用; 写入改接口请求方式、地址、参数 ![在这里插入图片描述](https://file.jishuzhan.net/article/1712127119615594498/1a0d4d9ef344ce70965397124e47c89f.webp) 结果:该接口请求头中成功关联Cookie信息 ![在这里插入图片描述](https://file.jishuzhan.net/article/1712127119615594498/fbd29de127c0fe67e38c8e47ba7c8711.webp)

相关推荐
逸雨清风2 小时前
Chrome更新到136以后selenium等自动化浏览器失效
selenium·自动化
Think Spatial 空间思维2 小时前
【SSL证书系列】https双向认证中客户端认证的原理
网络协议·https·ssl·双向认证·客户端认证
狮智先生5 小时前
【学习笔记】点云自动化聚类简要总结
笔记·学习·自动化
国科安芯5 小时前
高精度降压稳压技术在现代工业自动化中的应用
运维·自动化
暖暖木头6 小时前
Jmeter变量传递介绍
jmeter
小沈同学呀8 小时前
Apache JMeter API 接口压测技术指南
jmeter·apache
Think Spatial 空间思维8 小时前
【HTTPS基础概念与原理】SSL/TLS协议演进史:从SSLv3到TLS 1.3
网络协议·https·ssl
nanzhuhe8 小时前
‌JMeter聚合报告中的任务数和并发数区别
jmeter
水银嘻嘻15 小时前
08 web 自动化之 PO 设计模式详解
前端·自动化
小冯的编程学习之路15 小时前
【软件测试】:推荐一些接口与自动化测试学习练习网站(API测试与自动化学习全攻略)
c++·selenium·测试工具·jmeter·自动化·测试用例·postman