Fiddler
原理:客户端(前端)发送请求,Fiddler接收,并将请求传递给服务器(后端,处理业务逻辑)。反之亦然。
过程:
1.打开Fiddler并成为代理
2. 抓包并检查请求响应消息(检查)
请求消息:数据是否可以匹配到页面
响应消息:服务器响应的内容,显示在页面上。
场景:
1、定位问题
检查错误- 配置、环境和人员背景检查
执行位置分析
Fiddler 未捕获请求- 前端
捕获的请求中的参数不正确(请求数据问题)- 前端。
如果请求没问题但是响应结果状态码(前端400,后端500,200但是结果和你想要的不一样:后端)
2、接口测试
抓包Composer向右拖动消息更改参数(获取参数的返回值并更改接口)
执行,发送至服务器(例如购买限制为5件,改为10件可能存在安全风险)
3、断点测试
改变前端实时发送的数据请求截断+篡改
点击“规则”“自动断点”“上一个/后”(T)“请求”“更改”“执行”发送到服务器。
请求断点。
处理断点: 在页面上构建数据并检查页面显示 由于数据是通过模拟场景构建的,因此无需检查数据库。
4弱网测试
SIM卡和客观环境
工具:fiddler .charles F12(网络)
(1)电脑端准备:关闭防火墙、关闭杀毒软件(每次抓包前检查)
(2)规则自定义规则打开Fiddler脚本编辑器
if ( m – SimulateModem ) {
每KB 的发送延迟(以毫秒为单位)
}
性能 模拟调制解调器速度启用弱网络测试
原理:使用fiddler来模拟限速。 fiddler作为一个代理软件,提供了回调接口,并在客户端发出请求之前、服务器响应之前自定义了这些接口中的一些逻辑。
它通过延迟数据发送和接收时间来限制下载速度和上传速度,从而达到限速效果。
抓包
http
1. 设置过滤器
使用过滤器仅查看以下主机 IP 地址: 端口;/域名
2.抓包后一定要先刷新缓存Shift+F5
3.过滤不必要的数据包
隐藏if URL 正则表达式?insx)/[^?/]( css | ico\\jpg\\pn\\gif\\bmp\\wav\\ js\\webp (?*)?$
https
1.工具-选项-HTTPS-
捕获HTTPS CONNECT
解密HTTPS流量
系统会要求您安装fiddler的CA证书)
2.工具-选项-连接-允许远程计算机连接
结构
3.重置根证书[工具] – [选项] – [HTTP] – [操作]
四。重启
抓 APP 包
先决条件:验证码:解密https,
忽略服务器身份验证错误(不安全)
1. 移动设备配置
保持手机和电脑(可以打开电脑热点)在同一网段(IP地址前三位相同)。
2. 在手机上设置代理
代理IP是安装Fiddler的IP地址
(长按网络更改手动代理设置)
3.在手机上安装Fiddler的根证书
浏览器输入https://IP:端口
下载并安装证书(关于手机- 证书信任设置- 开)
4.重启
删除:设置> 常规> 个人资料
Fiddler 异常退出无法上网
没有未注册的代理人。系统代理仍然是127.0.0.1:8888。
解决办法:重启并关闭fiddler。
Fiddler 抓不到包?
1、检查是http还是https,如果是https,则安装证书。
2. 确保您的代理设置正确?
3.检查Fiddler 捕获开关吗?
4. 确认过滤?
5.是否可以获得本地陨石?
http 请求结构
请求行+请求头+空行+请求数据
get:从服务器获取资源或数据(列表查询)
head:与get类似。但是,返回的响应没有具体内容,用于检索标头。
post:发送数据到服务器(登录、提交订单)
put:替换服务器上的现有资源(更改信誉)
删除:从服务器删除数据(取消收藏、删除评论)
可选:检查服务器性能。
get 和 post 区别
get不安全,参数出现在URL中,post请求头,密文发送
获取、发布、发送
使用get 生成的URL 地址可以保存为书签,但使用post 则不能。
如果浏览器回滚,get 是无害的,但post 会再次发送请求。
get只能进行URL编码,而post支持多种URL编码。
get对URL中传递的参数有长度限制,但post没有
http 协议
TCP/IP模型:应用层http(80)https(UDP443)、ftp、pop3、IMAP
传输层(TCP、UDP)
网络层(IP、ARP、RARP)
接口层
http:超文本传输协议。您不仅可以发送文本,还可以发送音频和视频。
用于将超文本从万维网服务器发送到本地浏览器的传输协议。
定义客户端和服务器之间数据传输格式的标准和规范。
https=http + ssl 安全性CA 443 ssl 依赖于证书
验证服务器的身份并加密浏览器和服务器之间的通信。
工作原理
客户端使用https URL 访问Web 服务器并与Web 服务器建立SSL 连接。
Web服务器收到客户端的请求后,将网站的证书信息(包括其公钥)传递给客户端。
客户端浏览器和Web服务器开始协商SSL连接的安全级别(信息加密级别)。
客户端浏览器根据双方商定的安全级别建立会话密钥,使用网站的公钥对会话密钥进行加密,并将其发送到网站。
Web 服务器使用自己的私钥来解密会话密钥。
Web 服务器使用会话密钥来加密与客户端的通信。
响应
状态码:在渲染页面之前,该网页所在的服务器会返回一个包含http 状态码的信息标头,以响应浏览器的请求。
1xx:服务器收到请求并要求请求者继续执行操作。
2xx:访问成功
3xx:重定向,301永久,302临时
4xx:客户端错误、400 语法错误、403 请求被拒绝、404 找不到资源
5xx:服务器端错误,500发生错误,503服务器因过载或维护而关闭
处理http请求(URL输入后发生变化)
浏览器输入URLDNS域名解析(域名到IP映射,检查本地/DNS服务器)建立TCP连接(3次握手)http请求Web服务器接收请求应用服务器接收业务处理逻辑关闭TCP浏览器渲染页面
TCP 与 UDP
TCP是面向连接的、可靠的、面向字节流的、点对点的连接,报头有20个字节,并具有拥塞机制。
UDP无连接、不可靠、尽力传送、面向消息、一对一、一对多、多对一、多对多、只有8个字节。
cookie 、 session . token
1. Cookie数据存储在客户端浏览器,Session数据存储在服务器,token是接口测试的认证码。
2. Cookie 不太安全。 Cookie 欺骗会导致会话在服务器上存储一段时间,但会随着访问的增加而提高服务器性能。
3.登录等重要信息可以存储在会话中,其他信息可以存储在cookie 中。
四。您不能在单个cookie 中存储超过4K 的数据,并且许多浏览器将站点数量限制为20 个。
Cookie 的缺点
1、与服务器交互,解决http无状态问题。危险的。有限的。浪费带宽(自动为每个请求提供)。
它不是跨域的。某些移动设备不支持cookie/您的浏览器已禁用cookie
cookie 鉴权
步骤1:当客户端第一次访问服务器时,服务器会生成一个cookie,并将其存储在数据库中,并通过响应头中的set-cookie发送给客户端。
步骤2:当客户端第2次到第N次向服务器发送请求时,会自动发送该请求进行认证。
(标题=.)
会话级cookie:存在于客户端内存中,并在浏览器启动时自动消失.
持久cookie:驻留在客户端的硬盘上,当它过期时.
Jmeter安装
添加环境变量D:\\Software\\apache-jmeter-5.1\\bin(jdk+jmeter)
Jmeter 目录结构
backup目录
备份目录、jmx脚本、自动保存接口项目
. bin 目录:存放可执行文件和配置文件
jmeter.bat : Windows启动文件
jmeter.log:日志文件
jmeter.sh : Linux启动文件
jmeter.properties:系统配置文件
jmeter-server.bat : 用于Windows分布式测试的服务器配置
jmeter-serve : 用于Linux分布式测试的服务器配置
. doc 和 printable docs 目录
主要存放Jmeter的API帮助文档。
. Ilib 目录
该目录用于存放JMeter依赖的jar包和用户扩展依赖的jar包。
extra目录
存储和集成第三方构建文件(Ant、build、xml)
基本设置——语言和中文编码
bin目录下的jmeter.property文件中,language=zh_CN
示例result.default.encoding=UTF-8
Jmeter 基本使用流程
任务:使用jmeter访问接口测试平台上的常规get请求,查看请求和响应信息。
1.启动JMeter
2. 在“测试计划”下添加“线程组”。
3.在“线程组”下添加“HTTP 请求”采样器。
四。输入“HTTP请求”的相关请求数据。
5. 在线程组下添加显示结果树侦听器。
6.单击“开始”按钮运行它并查看结果。
组件是二级菜单,组件是三级菜单。
Jmeter 常用元件介绍
线程组:用户模拟多线程。一个线程代表一个用户的操作。
组件:初始化测试环境和测试数据,类似于设置自动化脚本。
预处理器:预处理传出请求,类似于参数化自动化脚本。
采样器:向服务器发送请求,类似于在自动化脚本中发送请求的方式。
后处理器:处理从服务器接收到的响应数据,以及检索自动化脚本中响应的特定字段。
断言:将收到的响应结果与预期结果进行比较,匹配自动测试断言。
监听器:显示运行测试脚本的结果和日志,以及自动化测试脚本的测试报告。
计时器:等待设定的时间,类似于自动化测试脚本中的睡眠。
测试片段:封装基本功能的代码块。与Automation 中封装的函数一样,它们不会单独执行,必须由脚本调用。
Jmeter 元件作用域
确定组件范围的一般原则:
1. 在JMeter中,元素的范围是根据其在测试计划树结构中的父子关系来确定的。
2、采样器是组件的核心,其他组件都是以采样器为核心执行的,不同的地方添加不同的组件,有效的采样器也不同。
采样器:采样器是独立的请求,不与其他组件交互,因此不存在范围问题。
逻辑控制器:该组件仅影响其子节点内的采样器和逻辑控制器。
其他六个主要组件:除了Sampler 和Logic Controller 组件之外,如果组件是Sampler 的子节点,则会影响其父节点和子节点。
如果父节点不是采样器,则其范围是该元素父节点下的所有其他后代节点,包括子节点、子节点的子节点等。
元件执行顺序
测试计划线程组.
1.配置组件(相当于自动化测试初始化和数据)
2. 预处理器
3.定时器
四。采样器
5.后处理器
6.断言
7.听众
消息:
jmeter组件的执行顺序与自动化脚本的执行顺序类似,可以根据自动化脚本的执行顺序来记忆。
预处理器、后处理器、断言和其他组件函数仅在采样器上运行(如果范围内没有采样器,它们将不会运行)。
如果同一范围内有多个相同类型的组件,则这些组件将按照它们在测试计划中出现的顺序依次执行。
Jmeter基础组件
线程组
线程组控制JMeter 用于运行测试的线程数量。单个线程也可以理解为一个测试用户,线程组就是一组用户。
如何添加线程组?
线程组的特点:
设置线程数(模拟多人游戏操作)
采样器(请求)和逻辑控制器必须取决于所使用的线程组
可以添加多个线程组,多个线程组可以是并行的,也可以是串行的。
可以将其他组件下的组件添加到线程组下
线程组的分类
线程组
常用的线程组可以被认为是虚拟用户组。线程组内的每个线程都可以理解为一个虚拟用户。
.setUp线程组
一种特殊类型的线程组,可用于执行预测试操作。安装线程组必须首先运行。
.tearDown 线程组
应最后执行可用于执行测试后工作的特殊类型的线程组。
线程组的属性配置
采样器出现错误后采取的措施
继续:如果采样器中的执行因错误而失败,则请求将继续执行而不停止。
开始下一个线程循环。如果发生错误,则同一线程中剩余的请求将不会被执行,而是直接开始新的迭代。
停止线程:只停止当前线程,不影响其他线程的执行。通常不设置此值。
停止测试。所有当前正在运行的线程执行完毕后退出。
立即停止测试:立即停止所有线程操作。
线程数:虚拟用户数
启动时间(秒):启动所有虚拟用户所需的时间
循环次数:指定循环次数或选中“始终”。必须与调度程序结合使用来指定循环时间。 Same user in every iteration:每次迭代使用相同的线程(即多次迭代使用同一个session。默认勾选,可以在创建新线程时节省资源;这个通常是,结合Cookie Manager的Use Thread Groups配置来控制Cook89 cookie 信息)
延迟线程创建直到需要为止。所有线程都是在测试开始时创建的。选中此选项后,仅在适当且必要时创建线程。
Scheduler:勾选后即可使用调度器配置。
持续时间:指一个线程组的线程执行时间。这通常用于无法估计运行次数的稳定性测试等场景。启动时间:线程组中线程的启动延迟多少秒。它通常用于多种不同的场景,但某些场景只能在其他场景运行完成后才能启动。
多人测试,使用测试片段 + include控制器/模块控制器
用户定义的变量
http 请求属性配置
JMeter发生get请求
向路径写入或添加参数
JMeter发生post请求
方法一:以键值对的形式添加请求参数。适用于内容类型为application/x-www-form-urlencoded 时(默认post 方法,无需设置单独的请求标头)
方法2:适用于使用JSON格式的{键值对}的请求负载方法发送的数据。您需要单独将标头的content-type 设置为application/json。
方法3:使用post 发送文件header 的content-type:multipart/form-data。
cookie 管理器
Cookie 管理器专门用于管理客户端的Cookie 信息。
通常用于需要登录才能维持与服务器的会话的场景。如果不配置此管理器,jmeter 将无法维护会话。
如何添加:配置组件-Cookie管理器通常情况下,您不需要专门配置Cookie管理器,只需添加它即可。
在 Jmeter 中生成脚本的两种方式
通过录制生成脚本(通过第三方工具录制,比如badboy,或者通过jmeter自带的代理服务器录制)
手动数据包捕获和脚本创建
测试计划非测试组件http代理服务器(设置jmeter为代理服务器)
原理:浏览器发送请求,代理服务器拦截,并将处理结果发送给服务器。反之亦然。
1. 添加HTTP代理服务器。 netstat -ano |findstr 11776:监听空闲端口。
创建测试计划: 目标控制器:测试计划》线程组
请求过滤: 添加建议的排除(?i)。 *.(bmp|css|js|gif|ico|jpe?g|png|swf|woff|woff2)
2、浏览器端:3分>设置>系统>打开电脑的代理设置>手动配置代理,输入本地IP地址(ipconfig)。
3.Shift+F5
4. 获取请求并删除不符合您要求的请求
5. 录制完成后,更改您的互联网选项并恢复。
Jmeter 参数化
如果我需要循环请求10次并在每个请求中发送不同的参数值怎么办?
Jmeter可以使用参数化测试操作。常用的参数化方法包括用户定义变量和CSV。
用户定义的变量
添加方式:测试计划->线程组->配置组件->用户定义变量
程序:
1.添加线程组
2. 添加用户定义的变量(通过配置元素或直接在测试计划属性中)
3.添加http请求${变量名}
四。添加查看结果树
优点:更容易维护,因为您在使用该值的任何地方都使用一个变量。
缺点:多个用户只能取一个值,多个用户不能取多个值。
CSV 文件参数化
如何添加:测试计划> 线程组> 配置组件> CSV 数据文件设置
程序:
1. 定义CSV文件
2.添加线程组
3.添加CSV数据文件设置、文件名、文件编码、变量名
四。添加http请求
5.添加查看结果树
优点:同一用户多次循环可以得到不同的值,适合数据量较大的参数化测试。这种方法常用于接口和性能测试。
函数
Tools ==函数助手 == random
常见断言类型:主要判断接口返回值是否等于预期结果
响应断言(状态断言:status_code=200 业务断言:包括access_token) Xpath断言、JSON断言、持续时间断言
Xpath断言
主要用于HTML格式的响应数据。
测试计划线程组HTTP请求右键-使用Xpath断言,Neat
//a[@href=\”javascript:logOff()\”]/text()=\”注销\” 和//div[@title=\”Message\”]//attribute:id=\”SC\”
语法:
使用and 连接多个条件
要获取文本,请直接使用text()。
要获取属性的值,请使用attribute: 属性名称来表示它。
JSON断言
主要用于JSON 格式的响应断言。非JSON 格式的断言将会失败。 (断言field=指定值$.key=value)
添加方法:右键添加测试计划>线程组-HTTP请求>断言-JSON断言。
程序:
1. 首先解析JSON数据。如果数据不是JSON,验证将失败。
2. 使用JSON语法搜索指定路径。如果未找到目标则失败。
3.如果在文档中找到JSON 路径并且需要验证预期值,则将执行验证。
。
d
是
t
是
。
X
X
X
该字段的预期结果是:
.data.xxx 该字段的预期结果是。
.data.xxx 该字段的预期结果是: [“”]$.
持续时间断言
主要用于断言请求的响应时间是否在配置的时间范围内。
添加方式:测试计划->线程组->HTTP请求->右键添加断言->断言持续时间
程序:
1.添加线程组
2.添加HTTP请求
3.添加持续时间断言
四。添加了查看结果树。
Jmeter 中的关联
关联主要用于性能测试,以解决多个接口之间的依赖关系。一般来说,您可以通过jmeter的后处理器提取关联。
常用关联方法:正则提取器、Xpath提取器、JSON提取器
Jmeter 正则表达式关联
如何添加:测试计划> 线程组> HTTP 请求> 右键添加后处理器> 正则表达式提取
程序:
1.添加线程组
2.添加HTTP请求-winiusals
3.添加正则表达式提取器以提取winiusales 的页面标题。
四。添加HTTP请求-百度首页,获取检索到的瓦片作为参数
5. 新增查看结果树。
参考名称:将提取的值保存到变量标题“access_token”:“(.*?)”
正则表达式:(.*?)\\d,
模板:
1
1
1(取哪个值)
1
1
1
2
2
2
匹配数字:1(取1个) -1(全取) 0(随机取)
缺省值:没有找到结果,就返回这里的结果
使用:${title}
Jmeter 正则表达式关联(多个值中取特定的值)
如果正则表达式提取出来的是多个值,则需要使用哪个值,必须使用 debug sampler(线程组﹣>取样器>调试取样器) 来进行查看后再确定。
例如,从蜗牛学院首页中用正则表达式提取出天府校区中的天府(使用的时候根据调试取样器的响应数据确定变量名称)二字,并传给百度首页作为查询参数。
实现步骤
1.添加蜗牛学院首页的 http 请求
2.正则表达式提取器,设置如下
3.添加 debug sampler ,查看正确的变量提取表达式
4.添加百度 http 请求,并添加对应的变量
Jmeter XPATH 提取器
添加方式:测试计划>线程组﹣> HTTP 请求﹣>右键添加后置处理器﹣> xpath 提取器
操作步骤:
1.添加线程组
2.添加 HTTP 请求﹣ woniuxy
3.添加 XPATH 提取器,提取 woniuxy 首页校区名字(如成都校区)
4.添加 debug sampler ,确定提取后的变量名字
5.添加 HTTP 请求﹣百度首页,以获取到的校区名字作为参数
6.添加查看结果树
Jmeter JSON 提取器
在返回格式为 JSON 的数据中,提取关联数据。
添加方式:测试计划>线程组﹣> HTTP 请求﹣>右键添加后置处理器﹣> JSON 提取器
操作步骤:
1.添加线程组
2.添加 HTTP 请求﹣天气信息查询接口(https://api.66mz8.com/api/weather.php?location=北
3.添加 JSON 提取器,提取指定城市温度 temperature 信息
4.添加 debug sampler ,确定变量值
5.添加查看结果树
Jmeter beanshell 应用
BeanShell 是一个小型,免费,可嵌入的 Java 源代码解释器,具有用 Java 编写对象脚本语言功能。 BeanShell 动态执行标准 Java 语法,并使用常见的脚本编写方便性扩展它,例公散类型,命令和方法闭包,如 Perl 和 JavaScript 中的那些。
常见的 beanshell 组件:
BeanShell Timer (定时器)
BeanShell PreProcessor (前置处理器)
BeanShell Sampler (采样器)
BeanShell PostProcessor (后置处理器)
BeanShell Assertion (断言)
BeanShell Listener (监听器
import org.apache.commons.codec.diges.DigestUtils ;
String sign =“3- qcj -123456-LZ7dYxCj5S68ucAh”;
String sign _md5= DigestUtils .md5Hex( sign );
vars.put (\” signstr \”, sign _md5);|
sign 算法:
1.在数据库中查询 uid 对应用户的信息
2.拼接为\” id – name – password – salt \”的字符串
3.对拼接后的字符串进行md5加密
Jmeter 连接 Mysql 数据库进行操作
1.下载 Mysql 连接驱动包
2.下载完之后,将 mysql驱动放置到 jmeter 安装路径的 lib 目录下
3.重启 Jmeter
4.在测试计划内添加 mysq 驱动
5.在线程组内添加 JDBC Connection Configuration 并配置连接属性
Variable Name for created pool:数据库名
数据库连接配置:
Database URL: jdbc:mysql://ip地址:端口号/数据库名称
JDBCDriver class: com.mysql.jdbc.Driver
6.添加 JDBC request
Variable Name: 数据库名
Variable name:将查询结果保存的变量
IF 控制器
If 控制器用来控制它下面的测试元素是否运行
添加方式:测试计划﹣>线程组﹣->(右键添加)逻辑控制器﹣->如果( If )控制器
例子:
1.使用’用户定义的变量’定义一个变量 name , name 的值可以是’ woniu ‘或’ fanyun ’
2.根据 name 的变量值实现对应网站的访问
Tools > 函数助手>__jexl3> “${id}” == “fanyun” > 生成,将结果复制
事务控制器
Jmeter 默认把每一个请求都统计成了一个事务,但有时候我们根据业务需求,会把多个操作统计成一个事务, Jmeter 当然也考虑到了这个需求,因此我们可以通过逻辑控制器﹣事务控制器来完成。定义了事务控制器后,整个事务中所有请求都成功了事务才算成功,否则结果就是失败。
是否单独显示事务内的各请求统计数据,勾选不显示
是否包含计时器、前后置处理器的运行时间,一般不勾选
同步定时器(集合点)
SyncTimer 的目的是阻塞线程,直到阻塞了 n 个线程,然后立即释放它们。
同步定时器相当于一个储蓄池,累积一定的请求,当在规定的时间内达到一定的线程数量,这些线程会在同一个时间点一起并发,所以可以用来做大数据量的并发请求。
添加方式:测试计划﹣>线程组﹣-> HTTP 请求﹣>(右键添加)定时器–> Synchronizing Timer 例子:模拟100个用户同时访问 woniusales 首页,统计高并发情况下平均响应时间以及错误率操作步骤
1.添加线程组,设置线程数=100
2.添加 HTTP 请求
3.添加同步定时器
4.添加查看结果树
5.添加监听器﹣聚合报告
如果超过1000毫秒没有达到30线程就不再等待
注意:
1.超时时间设置为0,默认是没有超时时间。则当模拟用户组数量无法被并发数整除时,则剩余线程将一直处于挂起状态无法执行。
2.超时时间设置不能短于线程生成的时间,否则一直都无法达到用户组的数量,导致无法形成并发的效果
常量吞吐量定时器
常数吞吐量定时器可以让 JMeter 以指定数字的吞吐量(以每分钟的样本数为单位,而不是每秒)执行,通常用于负载测试、压力测试等。吞吐量计算的范围可以为指定为当前线程、当前线程组、所有线程组。
添加方式:测试计划﹣->线程组﹣> HTTP 请求﹣>(右键添加)定时器–> Constant Throughput Timer
例子:模拟一个用户以20QPS(20次 /s )的频率访问网站首页,持续一段时间,统计服务器的平均响应时间操作步骤
1.添加线程组,循环次数设置成永远
2.添加 HTTP 请求
3.添加常数吞吐定时器
4.添加查看结果树
5.添加监听器﹣聚合报告,吞吐量维持在20次/秒左右
jmeter 分布式测试
在使用 JMeter 进行性能测试时,如果并发数比较大(比如项目需要支持10000并发),单台电脑的( CPU 和内存)可能无法支持,这时就可以使用 JMeter 提供的分布式测试的功能。
代理机( slave )配置:
1.Agent上必须安装 jmeter 和 JDK ,不管是 Linux 还是 windows 。
2.如果在同一台机器上跑多台代理机,必须要修改 jmeter 设置中的 server-port 。如果是多台不同的电脑上跑代理则不需要修改。如果代理机是虚拟机,必须保证虚拟机和主机之间相互之间都能 ping 通,否则无法正常测试。
3.修改 RMI SSL disable 为 true
4.通过 agent 上的 jmeter-server.bat 文件启动代理机。(如果提示没有权限,则需要先将 jmeter 目录权限
改为777)
注意:如果是 llnux 上需要通过命令+参数启动,如下图所示:
./jmeter-server -Djava.rmt.server.hostname =192.168.2.200
主控机( master )配置:
JMeter 的 bin 目录下 jmeter . properties 配置文件,修改’ remote _ hosts ‘为代理机 IP 地址和端口
﹣示例:’ remote _ hosts =127.0.0.1:2099,192.168.2.200:1099
IP 和 Port 是 Agent 机的 IP 以及自定义的端口,多台 Agent 之间用\”,\”隔开。
2.修改 RMI SSL disable 为 true
3.启动 JMeter
4.选择菜单:运行﹣->远程启动/远程全部启动
注意:如果通过远程执行无法显示响应内容的话,需要将 jmete.properties 中的 mode = Standard 取消注释
生成 jmeter 报告
先配置 jmeter 环境变量
JMETER _HOME : jmeter 路径
Path里面加上 %JMETER_HOME%\\bin
生成报告的命令
大数量并发时,GUI界面会宕机
jmeter -n -t xx.jmx -l http.jtl -e -o report (没有jtl文件)
n :以非 GUI 形式运行 Jmeter
t: jmx 脚本路径
1:运行结果保存路径( jl ),此文件必须不存在,路径+文件名
e :在脚本运行结束后生成 html 报告
o :用于存放 html 报告的目录,只能是一个空目录
jmeter -g http.jtl -o report
服务器资源监控
测试机上配置:
1.下载 jmeter 扩展插件,并放到 jmeter 安装路径的 lib/ext 目录下,重启 jmeter 即可
下载地址:https://jmeter-plugins.org/get/
2.打开 jmeter 的\”选项\”->\” plugin manager \”,选择 available plugin ,搜索 perf ,选择 perfmon ,安装重启 jmeter 即可。
3.在测试脚本中增加对应监听器。
被测服务器上设置:
1.下载server-agent
2.上传server-agent到服务器
3…启动servr-agent
eter 环境变量
JMETER _HOME : jmeter 路径
Path里面加上 %JMETER_HOME%\\bin
生成报告的命令
大数量并发时,GUI界面会宕机
jmeter -n -t xx.jmx -l http.jtl -e -o report (没有jtl文件)
n :以非 GUI 形式运行 Jmeter
t: jmx 脚本路径
1:运行结果保存路径( jl ),此文件必须不存在,路径+文件名
e :在脚本运行结束后生成 html 报告
o :用于存放 html 报告的目录,只能是一个空目录
jmeter -g http.jtl -o report
服务器资源监控
测试机上配置:
1.下载 jmeter 扩展插件,并放到 jmeter 安装路径的 lib/ext 目录下,重启 jmeter 即可
下载地址:https://jmeter-plugins.org/get/
2.打开 jmeter 的\”选项\”->\” plugin manager \”,选择 available plugin ,搜索 perf ,选择 perfmon ,安装重启 jmeter 即可。
3.在测试脚本中增加对应监听器。
被测服务器上设置:
1.下载server-agent
2.上传server-agent到服务器
3…启动servr-agent
#以上关于Jmeter details的相关内容来源网络仅供参考,相关信息请以官方公告为准!
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/93331.html