JMETER使用,从入门到放弃
JMeter 使用手册文档
Jmeter使用手册目录目录 (1)一、简介: (3)二、入门: (4)2.1 需求 (4)2.1.1 Java 版本 (4)2.1.2 操作系统 (4)2.2 可选 (5)2.2.1 Java 编译器 (5)2.2.2 SAX XML解析器 (5)2.2.3 Email 支持 (5)2.2.4 SSL 加密 (5)2.2.5 JDBC 驱动 (5)2.2.6 Apache SOAP (6)2.3 安装 (6)2.3.1 下载最新版本 (6)2.4 运行JMeter (6)2.4.2 使用代理服务器 (6)2.4.3 非用户界面模式(命令行模式) (7)2.4.4 服务器模式 (7)2.4.5 通过命令行覆盖属性 (7)2.4.6日志和错误信息 (8)2.4.7 命令行选项目录 (8)2.5 配置JMeter (9)三、创建一个测试计划 (10)3.1 添加和删除元件 (10)3.2 加载和保存元件 (10)3.3 配置树元件 (10)3.4 运行一个测试计划 (10)3.5 作用域规则 (10)四、测试计划元件 (12)4.1 后置处理器元件 (12)4.2 执行顺序 (12)五、使用Jmeter测试 (13)5.1创建一个网站测试计划 (13)5.1.1添加用户 (13)5.1.2 添加默认HTTP请求属性 (14)5.1.3 添加Cookie 支持 (15)5.1.4 添加HTTP 请求 (16)5.1.5 添加一个监听器到试图储存测试结果 (17)5.1.6 保存测试计划 (18)5.1.7 运行测试计划 (18)5.2创建一个高级web测试计划。
(18)5.2.1 用URL重写处理用户会话 (18)5.2.2 使用消息头管理 (18)5.3创建一个数据库测试计划 (18)5.3.1 添加用户 (19)5.3.2 添加JDBC请求 (20)5.3.3添加一个监听器浏览/保存测试结果 (23)5.3.4保存测试计划 (24)5.3.5 运行测试计划 (24)5.3.6 JDBC设置 (24)5.4创建一个FTP测试计划 (25)5.4.1添加用户 (25)5.4.2添加默认FTP请求配置 (26)5.4.3添加FTP请求 (28)5.4.4添加一个监听器浏览/保存测试结果 (29)5.4.5保存测试计划 (30)5.4.6运行测试计划 (30)5.5构建一个Web服务测试计划 (30)5.5.2添加web服务请求 (32)5.6创建JMS主题测试计划 (32)5.6.1添加用户 (32)5.6.2添加JMS订阅者和发布者 (33)5.6.3添加一个监听器浏览/保存测试结果 (35)5.6.4保存测试计划 (36)5.6.5运行测试计划 (36)5.7监听器介绍 (36)5.7.1屏幕捕获 (37)5.7.2非GUI测试运行 (37)5.7.3资源使用 (37)5.7.4 CSV日志格式 (37)六、Badboy+JMeter压力测试 (38)七、JMeter压测OA系统 (47)八、参考资料 (50)一、简介:Apache JMeter是100%纯java桌面应用程序,被设计用来测试C/S结构的软件(例如web应用程序)。
jmeter用法
jmeter用法1、JMeter介绍JMeter是Apache软件基金会发布的一个开源Java应用程序,用于测试和性能检测及监控的软件,它集成了几乎所有的网络协议、测试类型,可以用最合理的成本进行Web应用程序和Web Services的性能测试。
2、JMeter的工作原理JMeter采用一定的策略,将多个用户的请求发送到一个服务器,从而模拟真实的使用场景。
在用户请求发出后,JMeter会监控服务器的反馈信息,这些数据处理后会作为服务器响应速度、运行状态以及服务器抵抗负载能力等性能统计数据来进行可视化统计分析,从而实现性能监控和优化。
3、JMeter的主要功能a、根据设置的测试计划,可以进行多用户的模拟,来检查硬件性能,网络状态、数据库状态以及Web应用程序的功能和性能。
b、可以用来测试Web应用程序、Web Services和Enterprise Java Beans、静态和动态资源以及其他基于HTTP协议的客户端/服务器应用程序的性能。
c、具有良好的可视化界面,可以设置测试计划参数,调整执行计划,并以图表形式进行统计分析,提供可信度高的数据结果,可用于持续改进服务器的性能,同时具备脚本的灵活性,使用户可以定制符合个性化需要的检测脚本。
d、可以测量内外部网络状态和服务安全性。
4、JMeter的使用方法a、下载安装 JMeter官网下载并完成安装,在系统安装路径中可以找到JMeter程序。
b、启动JMeter 执行JMeter.bat 文件即可启动JMeter,在JMeter窗口左侧会有一棵树形操作列表,可以点击各个节点进行操作。
c、添加线程组选择当前所操纵的树节点,右击点击《Thread Groups》,选择右侧的《Add》,弹窗会出现增加Threads和Loops的选择项,并在右侧的列表中出现新创建的线程组,可根据需要进行配置。
e、启动测试选择树节点,点击右击《Start》可以启动测试,测试结果将会出现在右侧的表格中,也可以点击《View Results Tree》查看具体的测试结果,以及响应的状态码。
jmeter入门
1.入门1.0概述使用JMeter时,您通常会遵循以下过程:1.0.1测试计划建设为此,您将在GUI模式下运行JMeter。
然后,您可以选择从浏览器或本机应用程序记录应用程序。
您可以使用菜单文件→模板...→录制请注意,您也可以手动构建计划。
确保您阅读本文档以了解主要概念。
您还将使用以下选项之一调试它:∙运行→开始暂停∙运行→开始∙在线程组上验证和查看结果树渲染器或测试人员(CSS / JQUERY,JSON,Regexp,XPath)。
确保在构建测试计划时遵循最佳实践。
1.0.2负载测试运行准备好测试计划后,即可开始负载测试。
第一步是配置将运行JMeter 的喷射器,这与任何其他负载测试工具一样,包括:∙根据CPU,内存和网络纠正机器大小∙操作系统调整∙Java设置:确保安装JMeter支持的最新Java版本∙增加Java堆大小。
默认情况下,JMeter以1 GB的堆运行,这可能不足以进行测试,并且取决于您的测试计划和要运行的线程数一切准备就绪后,您将使用命令行模式(称为非GUI模式)运行它以进行负载测试。
不要使用GUI模式运行负载测试!使用非GUI模式,您可以生成包含结果的CSV(或XML)文件,并让JMeter 在Load Test结束时生成HTML报告。
默认情况下,JMeter会在运行时提供负载测试的摘要。
您还可以在测试期间使用Backend Listener获得实时结果。
1.0.3负载测试分析加载测试完成后,您可以使用HTML报告分析负载测试。
1.0.4让我们开始吧开始使用JMeter的最简单方法是首先下载最新的产品版本并进行安装。
该版本包含构建和运行大多数类型测试所需的所有文件,例如Web (HTTP / HTTPS),FTP,JDBC,LDAP,Java,JUnit等。
如果要执行JDBC测试,那么您当然需要供应商提供相应的JDBC驱动程序。
JMeter没有任何JDBC驱动程序。
JMeter包含JMS API jar,但不包括JMS客户端实现。
软件性能测试工具Jmeter入门级教程案例
软件性能测试工具Jmeter入门级教程案例性能测试工具Jmeter入门级教程案例JMeter学习(一)工具简单介绍一、JMeter 介绍Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。
它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等。
JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能。
同时,JMeter可以帮助你对你的应用程序进行回归测试。
通过你创建的测试脚本和assertions来验证你的程序返回了所期待的值。
为了更高的适应性,JMeter允许你使用正则表达式来创建这些assertions.JMeter与LoadRunner比较JMeter 是一款开源(有着典型开源工具特点:界面不美观)测试工具,虽然与LoadRunner 相比有很多不足,比如:它结果分析能力没有LoadRunner详细;很它的优点也有很多:?开源,他是一款开源的免费软件,使用它你不需要支付任何费用,?小巧,相比LR的庞大(最新LR11将近4GB),它非常小巧,不需要安装,但需要JDK环境,因为它是使用java 开发的工具。
?功能强大,jmeter设计之初只是一个简单的web性能测试工具,但经过不段的更新扩展,现在可以完成数据库、FTP、LDAP、WebService等方面的测试。
因为它的开源性,当然你也可以根据自己的需求扩展它的功能。
两者最大的区别:jmeter不支持IP欺骗,而LR支持。
缺点使用JMeter无法验证JS程序,也无法验证页面UI,所以要须要和Selenium配合来完成Web2.0应用的测试。
二、JMeter 下载安装1)JMeter安装1.解压文件到任意目录2. 安装JDK,配置环境变量JAVA_HOME.3. 系统要求:JMeter2.11 需要JDK1.6以上的版本支持运行4. JMeter可以运行在如下操作系统上:Unix,Windows 和Open VMS.5. 避免在一个有空格的路径安装JMeter,这将导致远程测试出现问题。
JMeter性能测试入门及进阶教程
JMeter性能测试入门+进阶教程✧JMeter入门篇 (2)1.JMeter简介 (2)2. JMeter安装 (2)2.1 JDK安装 (2)2.2 JMeter安装 (2)3. JMeter脚本编写 (4)3.1 添加线程组 (4)3.2 添加HTTP请求 (6)3.3 添加察看结果树 (7)3.4 添加用户自定义变量 (8)3.5 添加断言 (9)3.6 添加断言结果 (10)3.7 添加聚合报告 (11)4. 执行性能测试 (12)4.1 配置线程组 (12)4.2 执行测试 (13)5. 分析测试报告 (13)✧JMeter进阶篇 (15)1. JMeter参数化 (15)1.1 CSV Data Set Config (15)1.2 参数化测试数据准备 (15)1.3 使用函数助手设置参数规则 (17)2. JMeter录制功能 (20)2.1 JMeter代理模式录制脚本 (20)2.2 Fiddler抓包工具 (26)2.3 Badboy录制 (29)3. JMeter扩展图形插件 (31)3.1 图形插件安装 (31)3.2 图形扩展插件实例运用 (33)4. 命令行运行JMeter (36)4.1命令行语法 (36)4.2命令行示例 (37)5. JMeter常用协议实例 (38)5.1 http协议 (38)5.2 https协议 (38)5.3 soap协议 (43)5.4 socket协议 (48)6. JMeter负载均衡 (55)6.1配置负载测试机 (55)6.2设置Controller调度机 (59)6.3 注意事项及负载性能提升 (60)7. Loadrunner与JMeter对比 (62)7.1实际接口测试结果对比 (62)7.2工具特点对比 (66)JMeter入门篇1.JMeter简介Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。
转载JMeter中文使用手册(终审稿)
JMeter 自动从在它的/lib 和 /lib/ext目录中的jar包发现类。如果你开发新的 JMeter 组件,你可以压缩它们成jar包并拷贝到 JMeter 的 /lib/ext 目录。JMeter 将会自导发现在这里的任何jar包的JMeter 组件。如果你不想把扩展jar包放到lib/ext 目录,可以在jmeter.properties中定义search_paths属性。不要使用lib/ext 给那些有用的jar包;它仅仅是存放 JMeter 组件。
如果你想执行JDBC测试,你当然需要从厂商得到适当的JDBC驱动。JMeter没有提供任何JDBC驱动。
其它你可能需要下载的软件:
BeanShell
Java Activation Framework - JavaMail需要
Java Mail - mail 显示 and SOAP 测试需要
JMS - JMS 取样器
这个脚本也允许我们指定可选的防火墙/代理服务器信息:
-H [代理服务器主机名或者ip地址]
-P [代理服务器端口]
例如
2.4.4 服务器模式
为了分布测试 ,在服务器模式运行JMeter,并且通过用户界面控制每一台服务器。
jmeter-server/jmeter-server.bat 脚本使用适当的classpath为你开始远程注册。如果失败,参见关于JMeter服务器启动细节。
2.2.1 Java 编译器
如果你想编译JMeter源代码或者开发JMeter插件,你将需要一个完整的适当的JDK1.3或者更高。
2.2.2 SAX XML解析器
JMeter 使用 Apache's Xerces XML 解析器你可以选择告诉JMeter使用一个不同的XML 解析器。 这样做,把第三方的解析器的类包包含在JMeter的classpath 中, 并更新 jmeter.properties 文件里的解析器实现的全类名。
jmeter用户参数用法
jmeter用户参数用法JMeter用户参数用法详解JMeter是一款用于性能测试和负载测试的开源工具,它可以模拟多种复杂的测试场景。
在JMeter中,用户参数是一种非常重要的功能,它允许用户在运行测试计划时动态更改测试参数。
用户参数可以有效地模拟不同的用户行为和数据条件,使得测试更加真实可靠。
本文将详细介绍JMeter 用户参数的用法,并通过一步一步的回答,帮助读者更好地理解和应用该功能。
一、什么是JMeter用户参数?JMeter用户参数是一种用于在运行测试计划时动态更改测试参数的功能。
通过定义用户参数,我们可以在每个线程中使用不同的参数值,模拟多种不同的用户行为。
这些参数可以是用户名、密码、URL、用户ID、商品ID 等等。
二、如何添加用户参数?1. 打开JMeter,并创建一个新的测试计划。
2. 在测试计划上点击右键,选择“添加”-“元件”-“配置元件”-“用户定义的变量”。
3. 在“用户定义的变量”面板中,点击“添加”按钮。
4. 在“变量名称”栏中输入参数的名称,如“username”。
5. 在“变量值”栏中输入参数的初始值,如“user1”。
6. 点击“添加”按钮,继续添加其他参数。
7. 点击“确定”按钮完成参数的添加。
三、如何在测试中使用用户参数?1. 将用户参数应用于HTTP请求。
a. 在测试计划中选择一个线程组。
b. 在线程组上右键点击,选择“添加”-“取样器”-“HTTP请求”。
c. 在HTTP请求的“路径”或“参数”中使用用户参数,如“/login?username={username}&password={password}”。
2. 将用户参数应用于请求头。
a. 在HTTP请求中选择一个请求头,如“User-Agent”。
b. 在请求头的值中使用用户参数,如“Mozilla/5.0 (Windows NT10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 {user_agent}”。
jmeter操作流程
jmeter操作流程JMeter操作流程JMeter是一款功能强大的性能测试工具,用于模拟多种负载条件下测试Web应用程序的性能。
下面将详细说明JMeter的操作流程,帮助你快速上手。
安装JMeter1.下载JMeter安装包2.解压下载的安装包到你的本地机器3.运行JMeter可执行文件创建测试计划创建测试计划是执行性能测试的第一步,下面是创建测试计划的步骤: 1. 打开JMeter,选择主界面中的”Test Plan” 2. 右键点击”Test Plan”,选择”Add”,然后选择需要添加的元素,如线程组、定时器、监听器等 3. 设置每个元素的属性,如线程数、循环次数、目标服务器等配置线程组线程组定义了测试中访问目标服务器的用户数量和行为,下面是配置线程组的步骤: 1. 在测试计划中,右键点击”Test Plan”,选择”Add”,然后选择”Threads (Users) > Thread Group” 2. 设置线程组的属性,如线程数、循环次数、启动时间、关闭时间等 3. 可以为线程组添加逻辑控制器,如循环控制器、条件控制器等配置HTTP请求配置HTTP请求是模拟用户访问Web应用程序的一种方式,下面是配置HTTP请求的步骤: 1. 在线程组下,右键点击”Thread Group”,选择”Add”,然后选择”Sampler > HTTP Request” 2. 设置HTTP请求的属性,如服务器名称、请求路径、请求方法等 3. 可以为HTTP请求添加参数,如URL参数、请求头、请求体等添加断言断言用于验证响应数据是否符合期望结果,下面是添加断言的步骤: 1. 在HTTP请求下,右键点击”HTTP Request”,选择”Add”,然后选择”Assertions > Response Assertion” 2. 设置断言的属性,如响应字段、匹配规则等 3. 可以添加多个断言,以验证不同的响应字段和规则添加监听器监听器用于收集和分析测试结果,下面是添加监听器的步骤: 1. 在线程组下,右键点击”Thread Group”,选择”Add”,然后选择”Listeners > Summary Report” 2. 设置监听器的属性,如统计数据、图表类型、输出格式等 3. 可以添加多个监听器,以便对测试结果进行综合分析和报告运行测试计划配置完测试计划后,即可运行性能测试,下面是运行测试计划的步骤: 1. 点击工具栏中的绿色运行按钮,或者使用快捷键Ctrl+R 2. 观察测试过程中的日志输出和监听器结果 3. 在测试完成后,可以保存测试结果为文件,以便后续分析和报告以上就是JMeter的基本操作流程,希望对你使用JMeter进行性能测试有所帮助。
JMeter使用技巧
在这此对新版本jmeter的学习+温习的过程,发现了一些以前不知道的功能,所以,整理出来与大分享。
本文内容如下。
1.如何使用英文界面的jmeter2.如何使用镜像服务器3.Jmeter分布式测试4.启动Debug 日志记录5.搜索功能6.线程之间传递变量如何使用英文界面的JMeterJmeter启动时会自动判断操作系统的locale 并选择合适的语言启动,所以,我们启动jmeter后,其会出现一个倍感亲切的中文界面。
但由于jmeter本身的汉化工作做得不好,你会看到有未被汉化的选项及元件的参数。
而且部分翻译并不准确,因此对于英文比较好的牛人来说更喜欢纯正的英文界面。
强制以英文方式启动jmeter的方法如下:在windows环境下,打开jmeter解压目录,bin目录下的jmeter.bat文件,也就是jmeter程序的启动文件,选择记事本方式打开。
做以下修改:.................set HEAP=-Xms512m -Xmx512mset NEW=-XX:NewSize=128m -XX:MaxNewSize=128mset SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%set TENURING=-XX:MaxTenuringThreshold=2set RMIGC=-Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000set PERM=-XX:PermSize=64m -XX:MaxPermSize=64mset LOCALE=nguage=en -Duser.region=remset DEBUG=-verbose:gc -XX:+PrintTenuringDistribution.........rem Server moderem Collect the settings defined aboveset ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %RMIGC% %PERM% %DDRAW% %LOCALE% .............晕死,当我上面介绍了那么多后,在最新的2.8版本,我无意中发现了这个功能。
jmeter使用教程-详解
jmeter使⽤教程-详解
jimeter接⼝测试讲解:
⾸先了解⼀下jmeret主要的配置元件
1、测试计划:是使⽤ JMeter 进⾏测试的起点,它是其它 JMeter测试元件的容器
2、线程组:代表⼀定数量的⽤户,它可以⽤来模拟⽤户并发发送请求。
实际的请求内容在Sampler中定义,它被线程组包含。
3、配置元件:维护Sampler需要的配置信息,并根据实际的需要修改请求的内容。
4、前置处理器:负责在请求之前⼯作,常⽤来修改请求的设置
5、后置处理器:负责在请求之后⼯作,常⽤获取返回的值。
⼀个接⼝的调通
1.⾸先选择添加 ----------- >点击Threads (Users)线程⽤户 ---------------- > 添加⼀个线程组
2.这个就是我们通常使⽤的线程。
通俗的讲,⼀个线程组可以看做⼀个虚拟⽤户组,线程组中的每个线程都可以理解为⼀个
虚拟⽤户。
添加⼀个http请求:
添加----》sample---》http请求
http请求:
查看结果数:
添加⼀个查看结果树查看接⼝的具体请求与响应结果 1.添加----->监听器----->查看结果树
1.绿⾊的图标运⾏接⼝---->点击运⾏
2.查看接⼝请求信息
3.查看接⼝的响应信息。
jmeter使用知识点总结
jmeter使用知识点总结JMeter的使用技巧和知识点有很多,包括测试计划的设置、元件的使用、断言和监听器的配置、脚本编写等等。
在本文中,我们将重点介绍JMeter的使用知识点,并结合实际案例来进行详细说明,帮助读者更好地了解JMeter的使用技巧和最佳实践。
一、测试计划的设置在使用JMeter进行性能测试时,首先需要创建一个测试计划。
测试计划是整个测试的最顶层组织结构,它包含了线程组、监听器、断言等各种元素,并提供了各种配置选项和参数设置。
下面我们将详细介绍如何创建一个测试计划并设置相关参数。
1. 创建测试计划打开JMeter,点击菜单栏上的“File”->“New”,即可创建一个新的测试计划。
在新建测试计划的过程中,可以设置测试计划的名称、注释、用户变量等信息。
需要注意的是,测试计划的名称应该具有一定的描述性,方便后续管理和维护。
2. 线程组设置线程组是JMeter中最常用的元素之一,它用于模拟并发用户的行为。
在测试计划中添加线程组,并设置用户数、循环次数、持续时间等参数。
在设置用户数时,需要根据实际的业务场景和性能需求来确定。
通常情况下,可以通过压力测试和负载测试来确定最佳的用户数。
3. 配置元件设置配置元件用于对测试计划进行全局的配置,例如添加HTTP请求默认值、用户定义的变量、CSV数据文件配置等。
这些配置可以帮助我们实现更加灵活和智能的测试场景,提高测试用例的复用性和可维护性。
二、元件的使用JMeter中有很多不同类型的元件,如HTTP请求、FTP请求、JDBC请求、BeanShell、Debug元件等,在进行测试时需要根据实际的业务场景选择合适的元件。
下面我们将以HTTP请求为例,介绍元件的使用技巧和最佳实践。
1. 添加HTTP请求在测试计划中,点击线程组,然后右键选择“添加”->“sampler”->“HTTP请求”,即可添加一个HTTP请求。
在HTTP请求的配置中,需要设置服务器名称、路径、方法、参数等信息。
jmeter 控制器用法
jmeter 控制器用法
JMeter是一款功能强大的负载测试工具,其中的控制器是用于控制脚本执行顺序和循环次数的重要元素。
下面介绍一些JMeter控制器的常用用法:
1. Loop Controller(循环控制器):用于重复执行其子元素一
定次数。
可以设置循环次数或无限循环,还可以配置循环条件。
2. If Controller(条件控制器):根据条件控制是否执行其下
面的子元素。
可以通过使用JMeter的函数来设置条件。
3. While Controller(While控制器):根据条件循环执行其子
元素。
在每次循环之前,将重置循环计数器的值。
4. Switch Controller(Switch控制器):根据不同的条件执行
不同的子元素。
可以将条件和对应的子元素关联起来,根据条件执行对应的子元素。
5. Transaction Controller(事务控制器):用于对一组事务进
行分组和统计。
可以测量事务执行的平均响应时间和事务的错误率。
6. Include Controller(引用控制器):将一个测试片段作为引用,可以重复在不同的测试计划中复用。
7. Module Controller(模块控制器):用于模块化测试,可以
通过引用其他测试计划中的模块来组成复杂的测试场景。
8. Once Only Controller(仅一次控制器):子元素只会执行一次,之后将被忽略。
以上是JMeter控制器的一些常用用法,根据实际测试需求,可以选择合适的控制器来构建测试脚本。
jmemter用法
jmemter用法
以下是使用JMeter的基本步骤:
1. 下载JMeter:从官网下载最新版本的JMeter,并解压缩到一个目录下。
2. 运行JMeter:进入JMeter的bin目录,双击运行(Windows)或(Linux)。
3. 创建测试计划:在JMeter中创建一个测试计划,这相当于一个测试用例。
4. 添加线程组:在测试计划中添加一个线程组,设置线程数和循环次数等参数。
5. 添加HTTP请求:在线程组下添加HTTP请求,设置请求方式、URL、参数、请求头等参数。
6. 运行测试:点击JMeter工具栏上的运行按钮,开始运行测试。
7. 查看结果:测试运行结束后,可以查看测试结果,包括响应时间、吞吐量、错误率等指标。
此外,除了上述基本操作外,JMeter还支持很多高级功能,比如断言、预
处理器、后处理器、定时器、监听器等,可以根据具体的测试需求进行配置和使用。
Jmeter使用入门 入门教程
Jmeter使用入门入门教程Jmeter的基本概念百度百科:Apache JMeter是Apache组织开发的基于Java的压力测试工具。
用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。
它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器,等等。
JMeter 可以用于对服务器、网络或对象模拟巨大的负载,不同压力类别下测试它们的强度和分析整体性能。
另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。
为了最大限度的灵活性,JMeter允许使用正则表达式创建断言我们为什么使用Jmeter开源,基于Java编写,可集成到其他系统可拓展各个功能插件支持接口测试,压力测试等多种功能,支持录制回放,入门简单相较于自己编写框架活其他开源工具,有较为完善的UI界面,便于接口调试多平台支持,可在Linux,Windows,Mac上运行Windows下Jmeter下载安装登录 jmeter.apache/download_jmeter.cgi ,根据自己平台,下载对应文件安装JDK,配置环境变量(具体步骤不做介绍)将下载Jmeter文件解压,打开/bin/jmeter.bat其他平台安装Jmeter与Windows平台一致,除入口文件不同,例如linux平台下为/bin/jmeter.shJmeter的目录结构/bin 目录(常用文件介绍)examples:目录下包含Jmeter使用实例ApacheJMeter.jar:JMeter源码包jmeter.bat:windows下启动文件jmeter.sh:Linux下启动文件jmeter.log:Jmeter运行日志文件jmeter.properties:Jmeter配置文件jmeter-server.bat:windows下启动负载生成器服务文件jmeter-server:Linux下启动负载生成器文件/docs目录——Jmeter帮助文档/extras目录——提供了对Ant的支持文件,可也用于持续集成/lib目录——存放Jmeter依赖的jar包,同时安装插件也放于此目录/licenses目录——软件许可文件,不用管/printable_docs目录——Jmeter用户手册插件安装:Jmeter的插件安装很简单,只需要下载对应插件解压即可。
Jmeter入门自学使用手册
Jmeter在访问接口的时候,响应内容如果有中文可能会显示乱码,原因应该是响应页面没有做编码处 理,jmeter默认按照ISO-8859-1编码格式进行解析。
下面把解决步骤列一下: 现象:jmeter访问本地文件,文件内容有中文,jmeter返回内容显示乱码:
2
8.1 为什么要设置集合点? 8.2 同步定时器-设置集合点 8.3 集合点技术实战 9. Jmeter报告说明
1. Jmeter安装
1.1 Jmeter在windows上安装
1. 安装jdk
使用Jmeter的前提是安的 版本。
注意:配置jmeter环境变量的原因,其实这里不用设置也是可以的,但是在这里也进行一下环境变量配 置的说明; 如果配置了jmeter的环境变量,就可以在cmd模式下直接输入jmeter,启动jmeter。
1、加入系统变量JMETER_HOME:E:\apache-jmeter-5.1.1如下图:
2、path后面加上:%JMETER_HOME%\bin;
junit子目录是放junit脚本的。
注意:无法识别 zip 格式的包文件,所以需要的包文件均要求以 .jar 结尾
**5、printable_docs:**usermanual子目录下是jmeter用户手册,尤其是component_reference.html 是最常用的核心元件帮助手册。
**1、bin:**可执行文件目录
**2、docs:**文档目录
**3、extras:**扩展插件目录,目录下的文件提供了对ant的支持
**4、lib:**所用到的插件目录,里面全是jar包,JMeter 会自动在 JMETER_HOME/lib 和 ext 目录下 寻找需要的类。 lib目录下的ext子目录是jmeter的核心jar包;用户扩展所依濑的包直接放到lib下即可,不要放到 lib/ext下,直接放在lib目录下即可。
学习jmeter和技巧
JMeter 使用入门最近在公司想做下压力或负载测试,当然我首先想到的就是用JMeter,以前也认识过它,可能它能满足基本测试需求。
使用之前要先认识下它。
先到官方网站下载最新版本:/site/downloads/downloads_jmeter.cgi,目前最新版是jakarta-jmeter-2.3.2。
运行bin/jmeter.bat后,先来了解几个术语:1、线程组:测试里每个任务都要线程去处理,所有我们后来的任务必须在线程组下面创建。
可以在“测试计划->添加->线程组”来建立它,然后在线程组面板里有几个输入栏:线程数、Ramp-Up Period(in seconds)、循环次数,其中Ramp-Up Period(in seconds)表示在这时间内创建完所有的线程。
如有8个线程,Ramp-Up = 200秒,那么线程的启动时间间隔为200/8=25秒,这样的好处是:一开始不会对服务器有太大的负载。
2、取样器(Sampler):可以认为所有的测试任务都由取样器承担,有很种,如:HTTP 请求。
3、断言:对取样器返回的请求结果给出判断,是否正确。
4、monitor:它的功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。
先这些概念。
下面来试用一下:添加线程组,右击测试计划->添加->线程组,线程数为2,Ramp-Up=0,循环次数=5;添加取样器:右击线程组->添加->Sample->HTTP 请求,Web服务器localhost,端口8080,协议http,路径/index.jsp;添加monitor,右击线程组->添加->monitor->图形结果(第二个),然后再添加一个Summary report monitor。
然后,运行->启动,在两个monitor中都可以看到一些内容,如:JMeter 的主要测试组件总结如下:1、测试计划是使用JMeter 进行测试的起点,它是其它JMeter 测试元件的容器。
Jmeter入门教程
Jmeter⼊门教程⽬录⼀、下载⼆、安装三、运⾏四、⼀个简单的压测实例五、如何查看系统负载何性能瓶颈jemter简介jmeter是apache公司基于java开发的⼀款开源压⼒测试⼯具,体积⼩,功能全,使⽤⽅便,是⼀个⽐较轻量级的测试⼯具,使⽤起来⾮常简单。
因为jmeter是java开发的,所以运⾏的时候必须先要安装jdk才可以。
jmeter是免安装的,拿到安装包之后直接解压就可以使⽤,同时它在 linux/windows/macos上都可以使⽤。
jmeter可以做接⼝测试和压⼒测试。
其中接⼝测试的简单操作包括做http脚本(发get/post请求、加cookie、加header、加权限认证、上传⽂件)、做webservice脚本、参数化、断⾔、关联(正则表达式提取器和处理json-json path extractor)和jmeter操作数据库等等。
优点1、开源⼯具,可扩展性⾮常好2、⾼可扩展性,⽤户可⾃定义调试相关模块代码3、精⼼简单的GUI设计,⼩巧灵活4、完全的可移植性和100%纯java5、完全swing和轻量组件⽀持(预编译的HAR使⽤javax.swing.*)包6、完全多线程框架,允许通过多个线程并发取样以及单独的线程对不同的功能同时取样7、⽀持脚本取样器⼀、下载⼆、安装将下载得到的压缩包解压即可,这⾥我解压到⾃⼰电脑的路径为E:\Mysoftware\apache-jmeter-5.0。
三、运⾏点击bin⽬录下的jmeter.bat即可启动Jmeter。
启动后可以看到⼀个java编写的图形界⾯。
四、⼀个简单的压测实例a.新建⼀个线程组。
b. 设置线程组参数。
这⾥配置为:10个线程,同时启动,循环⼀次。
c. 新增http请求默认值。
在上⼀步创建的线程组上,新增http请求默认值,所有的请求都会使⽤设置的默认值,这设置协议为http,IP为localhost,端⼝为8080。
d. 添加要压测的http请求。
jmeter-5-从入门到放弃【基础篇】
jmeter-5-从⼊门到放弃【基础篇】⼀、Jmeter简介:1、简介Jmeter 是⼀款基于Java程序开发的可视化客户端 (类似postman客户端)、具有开源、⾼可扩展性、⾼移植性、多线程框架等特点。
简单来说它就是:界⾯友好,能够快速上⼿,在任何操作系统java环境便可运⾏,基于java程序开发可⾃定义编写插件。
Jmeter业界使⽤最多的场景:1. 服务端的性能测试 (压⼒测试、并发测试)2. 接⼝测试、接⼝⾃动化测试 (Http、FTP、RPC、WebSocket等协议)2、jmeter 安装①由于是⼀个java程序,所以必备JDK,jdk1.8以上。
jdk安装教程详细参考:win:linux:②验证,cmd命令输⼊:java --version 及 javac下载后直接解压。
运⾏:打开bin⽬录下的jar包,如我的解压路径(可创建快捷⽅式/超链接到桌⾯):G:\apache-jmeter-5.3\bin\ApacheJMeter.jar可视化主界⾯:⾮常友好⼆、Jmeter常⽤元器件前置处理器 (⽐如:JDBC/Beam Shell预处理程序,⽤于数据准备,输⼊)取样器(⽐如:Http请求信息)后置处理器 (⽐如正则、json提取、JDBC/Beam Shell后置处理器)配置元件 (⽤户⾃定义变量、CSV参数化、请求头管理器、请求默认值)监听器 (查看请求的信息与结果,⽐如:查看结果树、聚合报告、汇总报告)在Jmeter中元器件作⽤域是遵循上⾯的顺序,还有从上到下执⾏,如果多个层级存在同样的变量时,优先使⽤同级的(先找同层级,没有找到,再往上层找)举例:三、编写接⼝脚本1、接⼝测试这⾥分为两种场景:1. 接⼝测试既功能未提测前,基于接⼝⽂档编写脚本,进⾏的接⼝测试,同时考虑接⼝安全性的测试。
2. 接⼝⾃动化回归测试既对我们主要流程的冒烟测试,亦可细化覆盖场景(但成本⽐较⾼)2、编写前我们需要认识 http 请求与响应的基本结构①、接⼝请求关键参数:1. method 请求类型:常⽤ GET、POST2. url 接⼝的地址3. headers 请求头4. body 请求参数②、接⼝响应,通常关注:响应code、响应body、耗时。
Jmeter(十六)-从入门到精通-JMeter前置处理器(详解教程)
Jmeter(⼗六)-从⼊门到精通-JMeter前置处理器(详解教程)1.简介 前置处理器是在发出“取样器请求”之前执⾏⼀些操作。
如果将前置处理器附加到取样器元件,则它将在该取样器元件运⾏之前执⾏。
前置处理器最常⽤于在取样器请求运⾏前修改其设置,或更新未从响应⽂本中提取的变量。
前置处理器主要是⽤来处理请求前的⼀些准备⼯作,⽐如参数设置、环境变量设置等等。
2.预览前置处理器 ⾸先我们来看⼀下JMeter的前置处理器,路径:线程组(⽤户)->添加->前置处理器();我们可以清楚地看到JMeter5中共有8个前置处理器(不包括jp@gc开头的前置处理器,这个是宏哥安装的插件),如下图所⽰:如果上图您看得不是很清楚的话,宏哥总结了⼀个思维导图,关于JMeter5的前置处理器类型,如下图所⽰:通过以上的了解,我们对前置处理器有了⼀个⼤致的了解和认识。
下⾯宏哥就给⼩伙伴或则童鞋们分享讲解⼀些通常在⼯作中会⽤到的前置处理器。
3.常⽤前置处理器详解这⼀⼩节,宏哥就由上⽽下地详细地讲解⼀下常⽤的前置处理器。
3.1JSR223 PreProcessorJSR223 预处理程序,⽤于对于采集器进⾏处理,且是在sampler启动之前。
1、我们先来看看这个JSR223 PreProcessor长得是啥样⼦,路径:线程组 > 添加 > 前置处理器 > JSR223预处理程序,如下图所⽰:2、关键参数说明如下:Name:名称,可以随意设置,甚⾄为空;Comments:注释,可随意设置,可以为空;Language:语⾔,开发脚本选择的语⾔,使⽤的JSR223语⾔,可根据需要选择;Parameters:参数,传递给脚本的参数;File Name:⽂件名,本地开发的脚本⽂件(会覆盖在JMeter⾥编写的脚本);Script compilation caching:存储编译的脚本,默认勾选;Script:要运⾏脚本。
jmeter控制器的用法
jmeter控制器的用法JMeter是一款开源的负载测试工具,它可以模拟多种负载场景,如并发用户数、请求频率、响应时间等。
在JMeter中,控制器是一个重要的功能模块,它可以控制测试计划的执行流程,包括测试计划的启动、停止、暂停和恢复等。
本文将介绍JMeter控制器的用法,帮助读者更好地使用JMeter进行负载测试。
一、JMeter控制器的类型JMeter控制器有很多种类型,每种类型都有不同的用途和特点。
下面是JMeter控制器的常用类型:1. 流程控制器流程控制器是JMeter中最基本的控制器,它可以控制测试计划的执行流程。
流程控制器有以下几种类型:(1) If控制器If控制器可以根据某个条件判断是否执行下一个测试元素。
例如,可以根据响应结果中的某个值来判断是否执行下一个测试元素。
(2) While控制器While控制器可以根据某个条件循环执行某个测试元素。
例如,可以循环执行某个HTTP请求,直到响应结果中的某个值符合要求。
(3) ForEach控制器ForEach控制器可以根据某个变量循环执行某个测试元素。
例如,可以循环执行某个HTTP请求,每次请求的参数值都从一个CSV文件中读取。
(4) Switch控制器Switch控制器可以根据某个值判断执行哪个测试元素。
例如,可以根据响应结果中的某个值来执行不同的HTTP请求。
2. 逻辑控制器逻辑控制器是JMeter中常用的控制器,它可以根据不同的逻辑关系组织测试计划。
逻辑控制器有以下几种类型:(1) If ControllerIf控制器可以根据某个条件判断是否执行下一个测试元素。
例如,可以根据响应结果中的某个值来判断是否执行下一个测试元素。
(2) While ControllerWhile控制器可以根据某个条件循环执行某个测试元素。
例如,可以循环执行某个HTTP请求,直到响应结果中的某个值符合要求。
(3) ForEach ControllerForEach控制器可以根据某个变量循环执行某个测试元素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1 工具介绍 (3)1.1 工具组成 (3)1.1.1 测试计划 (3)1.1.2 工作台 (3)1.2 测试组成结构 (4)1.2.1 HTTP消息头 (4)1.2.2 HTTP请求默认值 (4)1.2.3 HTTP Cookie 管理器 (5)1.2.4 线程组 (5)1.2.5 HTTP请求 (5)1.2.6 Debug Sampler (5)1.2.7 响应断言 (6)1.2.8 常用监听器 (6)2 准备工作 (7)2.1 监控资源 (7)2.1.1 监控TOMCAT资源 (7)2.1.2 监控WINDOWS资源 (10)2.1.3 监控LINUX资源 (11)2.2 使用技巧 (12)2.2.1 参数化 (12)2.2.2 正则表达式提取器 (14)2.2.3 集合点 (16)2.2.4 响应断言 (17)2.2.5 IP欺诈 (19)3 开始搞事情 (22)3.1 准备工作 (23)3.2 接口测试 (23)3.2.1 脚本组成 (23)3.2.2 数据共享 (26)3.2.3 线程组 (31)3.2.4 Linux下运行Jmeter (33)3.3 数据库性能测试 (35)3.3.1 Mysql性能测试 (35)3.4 JA V A性能测试 (37)前言该文档只讲解JMETER作为测试工具在测试中常用的功能如何使用。
其他功能,如果感兴趣,可以自行研究学习。
该文档内容具有一定的跳跃性,不适合测试小白学习。
该文档是我毕生心血之作,虽然内容有可能不正确和不准确,但至少是在项目中得到实践和经得起测试的。
另外该文档主要内容只会出现我知道和我使用过且能得出结论的内容。
所以该文档不属于进阶和工具文档。
主要是让小白们知道如何使用JMETET工具进行测试,指导一个方向而已。
就我目前所知JMETER只能进行HTTP协议的测试。
至于能不能进行其他协议的测试,请读者自行研究。
说明一点,不同的协议测试请用合适的工具,所以请大家在做测试之前请先选择合适的测试工具,不然在测试过程中很有可能半途而废,浪费时间,而且会严重打击你的测试信心。
注意:文档中介绍的JMETER工具版本为V3.0。
1 工具介绍1.1 工具组成该工具由测试计划和工作台组成。
这2个部分均可以添加线程组及各种元件。
区别是测试计划部分可以添加线程组,而工作台不能添加线程组。
一般我们都是在测试计划中创建线程组进行接口的功能和性能测试。
1.1.1 测试计划组成如下图所示常用到的有:Threads(Users)、配置元件、后置处理器、断言、监听器。
具体怎么用,后面再讲。
1.1.2 工作台组成如下图所示(该文章不会对这个玩意进行讲解,因为我没用过,感兴趣的可以自己研究哈)可能会用到的功能:非测试元件(HTTP Mirror Server、HTTP代理服务器)。
1.2 测试组成结构一般组成为HTTP消息头、HTTP请求默认值、线程组、HTTP请求、Debug Sampler、查看结果树、聚合报告、用表格察看结果、响应断言、各种可选用的监听器。
如下图所示1.2.1 HTTP消息头具体作用不详,反正要加,不然脚本报错。
响应内容如果是json,消息头里就填写Content-Type=application/json。
1.2.2 HTTP请求默认值作用是当一个线程组里存在N多接口,而且接口路径中开头一段相同。
为什么方便修改相同部分的路径内容,就添加这个请求默认值。
1.2.3 HTTP Cookie 管理器用于管理Cookie值,一般情况下无需填写任何内容值。
只有当多个接口需要用到固定的cookie值时才会填写内容,一般结合正则提取器使用,具体使用方法见第3.2.2章节。
1.2.4 线程组线程组有2个特性:线程属性和调度器。
这2个特性均用于性能测试。
(1)线程属性,设置线程数即虚拟用户数,性能测试场景中脚本的运行设置(2)调度器,设置性能测试场景中脚本的运行周期(时间),选中“调度器”才能使用此功能具体操作和功能说明请参考第3.2.3章节。
1.2.5 HTTP请求接口是放在线程组里的。
HTTP请求也有2个特性:接口测试和作为监听器使用。
这2个特性的具体说明请参考第3.2章节(接口测试)和第2.1章节(监控TOMCAT资源)。
1.2.6 Debug Sampler脚本调试神器。
当在使用正则表达式提取器时想知道提取的数值是否正确,就可以使用这玩意了。
将此元件挂在某个接口下即可,然后执行脚本(DEBUG 结果如下)。
脚本调试完了记得禁用啊。
1.2.7 响应断言主要用于判断返回值或内容是否正确,避免测试白忙活。
1.2.8 常用监听器1.2.8.1 查看结果树调试/运行脚本后查看结果内容。
主要分为“取样器结果”、“请求”和“响应数据”。
1.2.8.2 聚合报告性能测试用,查看每个线程组运行性能指标数值。
1.2.8.3 用表格察看结果查看所有线程组中每个接口的指标数值。
1.2.8.4 性能指标这里就不一一列举了,有些监视器需要安装JMETER插件或远程连接登录被监控对象。
2 准备工作2.1 监控资源2.1.1 监控TOMCAT资源使用jmeter的tomcat监视器功能,可以通过向tomcat的status页面发送get 请求,得到资源使用信息,然后转换为直观的图像方式,这样的话,就可以监视到服务器的资源使用情况,不过需要注意的是,要使用tomcat监视器功能,就必须在要监视的服务器上配置tomcat相关文件。
(1)配置/conf/tomcat-users.xml,内容如下<?xml version='1.0' encoding='utf-8'?><tomcat-users><role rolename="manager-gui"/><role rolename="manager-script"/><role rolename="manager-jmx"/><role rolename="manager-status"/><user username="admin" password="admin" roles="manager-gui"/><user username="admin" password="admin" roles="manager-script"/> <user username="admin" password="admin" roles="manager-jmx"/><user username="admin" password="admin" roles="manager-status"/></tomcat-users>(2)配置/conf/context.xml,内容如下<Context><WatchedResource>WEB-INF/web.xml</WatchedResource><Manager pathname="/manager" debug="0" privileged="true" docBase="/home/tomcat-9900/webapps/manager" /><ValveclassName="etConnectionManagerValve" /></Context>注意:配置完成后先访问http://IP地址:端口号/manager/status,检查是否配置成功。
(3)打开Jmeter在线程组下添加“配置元件-HTTP授权管理器”,在HTTP 授权管理的“基础URL”中输入http://IP地址:端口号/manager/status,用户名为上面新建的admin,密码是admin,其他默认,如下图所示(4)接着在当前线程组下添加“HTTP请求”,输入被检测服务器中的TOMCAT访问IP和端口号;路径输入/manager/status;请求参数输入XML(必须大写),值为true,如下图A1所示并且将此HTTP请求设置为“用作监视器”,如下图A2所示图A1图A2(5)接着在当前HTTP请求下添加“监视器结果”和“察看结果树”,如下图所示(6)最后运行JMETER脚本,此时进入到“监视器结果”界面可以看到被测服务器IP和资源(图片),如下图所示可见如何使用JMETER\脚本\脚本01(监控Tomcat资源).jmx。
2.1.2 监控WINDOWS资源(1)首先下载和安装以下三个插件(都在如何使用JMETER\插件文件夹中)。
JMeterPlugins-Extras-1.4.0(Jmeter插件)JMeterPlugins-Standard-1.3.1(Jmeter插件)ServerAgent-2.2.1(监听工具)(2)解压Jmeter的2个插件,将JMeterPlugins-Extras.jar和JMeterPlugins-Standard.jar复制到jmeter安装目录下的\lib\ext下。
(3)重启或者启动Jmeter后在“监听器”中就显示出可以监控的资源,如下图所示(4)接着将ServerAgent-2.2.1解压后放在需要监控的服务器上并启动startAgent.bat服务(如何启动请自行研究)。
监控工具也可以选择别的,这个不是唯一的。
(5)现在回到Jmeter,在线程组中添加要监听的服务器资源,比如CPU和内存和网络硬盘I/O,操作如下A、首先添加HTTP请求并输入相关内容后,再在当前HTTP所在的线程组上添加jp@gc - PerfMon Metrics Collector,界面如下图所示B、接着在jp@gc - PerfMon Metrics Collector页面中添加要监听的服务器资源,端口号默认是4444。
为了能监控到资源变化,我将线程组设置为无限循环,最后启动脚本,结果如下图所示注意:如果在上图中间黄底区域显示红色报警信息,说明监控工具未启动。
因为运行一次JMETER脚本进行监控完成后,监控工具会自动关闭,需要手动重新启动。