JMetter使用文档
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中文使用手册.pdf
JMeter中文使用手册.pdf
--nonHTTPPSample
tn="Listen1-1"dt="text"de="ISO-8859-1"by="10">
Listen1-1
Mixed2.unknown
ssssss
取样节点名字可以是"sample"或者"httpSample"。
取样器属性意义如下:
属性内容
t用时(ms)
lt延时(ms)-不是所有的取样器支持这个
ts时间标志
s是否成功
lb标签
rc响应代码
rm响应消息
tn线程名
dt数据类型
de数据编码
by字节数
ng在这个线程组中活跃的线程数
na所有线程组中的活跃线程数
JMeter2.1和2.1.1版本保存响应代码为"rs",但是读取它期望是
"rc"。
这个bug已经被修复,所以为"rc";
"rc"或者"rs"都可以被读取。
14.7保存响应数据
像上面展示的那样,如果需要响应数据可以被保存为XML日志文件。
然而,这将使文件相当大,并且文本必
须被编码才可以被安静的验证XML。
同样图片不会被包括。
另一个解决方案是使用后置处理器保存响应结果到文件。
这样为每个取样产生一个新的文件,并且保存文件
为取样器名。
文件名会被包含在一个取样日志输入。
当取样日志文件被加载时如果需要数据将从文件从新得
到。
jmeter界面说明
一、线程组1) setup thread group一种特殊类型的ThreadGroup的,可用于执行预测试操作。
这些线程的行为完全像一个正常的线程组元件。
不同的是,这些类型的线程执行测试前进行定期线程组的执行。
2) teardown thread group.一种特殊类型的ThreadGroup的,可用于执行测试后动作。
这些线程的行为完全像一个正常的线程组元件。
不同的是,这些类型的线程执行测试结束后执行定期的线程组。
可能你还是不太理他们与普通的线程组有什么不同。
如果您用过junit,想必你不会对setup ,teardown这2个字眼陌生。
即时每用过,也没关系。
熟悉loadrunner的应该知道,loadrunner的脚本除了action里是真正的脚本核心内容,还有初始化“环境”的初始化脚本和测试完毕后对应的清除信息的脚本块。
那么这里 setup thread group 和 teardown thread group 就是分别指这两部分。
其实从本质上来看,他们并没有什么不同。
3) thread group(线程组).这个就是我们通常添加运行的线程。
通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。
线程组中包含的线程数量在测试执行过程中是不会发生改变的。
二test fragment测试片段元素是控制器上的一个种特殊的线程组,它在测试树上与线程组处于一个层级。
它与线程组有所不同,因为它不被执行,除非它是一个模块控制器或者是被控制器所引用时才会被执行。
三、取样器(sampler)取样器(Sample)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler ,如 HTTP Request Sampler 、 FTP Request Sample 、TCP Request Sample 、JDBC Request Sampler 等,每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同类型的请求。
完整的JMETER使用手册-适合初学者
JMETER中文手册分享1.简介Apache JMeter是100%纯java桌面应用程序,被设计用来测试C/S结构的软件(例如web应用程序)。
它可以用来测试包括基于静态和动态资源程序的性能,例如静态文件,Java Servlets,Java对象,数据库,FTP服务器等等。
JMeter可以用来在一个服务器、网络或者对象上模拟重负载来测试它的强度或者分析在不同的负载类型下的全面性能。
另外,JMeter能够通过让你们用断言创建测试脚本来验证我们的应用程序是否返回了我们期望的结果,从而帮助我们回归测试我们的程序。
为了最大的灵活性,JMeter允许我们使用正则表达式创建断言。
1.1 历史Apache软件组织的Stefano Mazzocchi是JMeter的创始人。
他编写它起初是为了测试Apache JServ的性能(一个已经被Apache Tomcat工程所替代的工程)。
我们重新设计JMeter 来增强用户界面并增加功能测试的能力。
1.2 未来我们希望看到作为开发者利用它的可插入架构使JMeter的功能快速扩展。
未来发展的主要目标是在没有影响JMeter的负载测试能力的情况下尽可能使JMeter成为最实用的回归测试工具。
2.入门开始使用JMeter最容易的方法是首先下载最新版并且安装它。
这个版本包含所有你在构建和运行Web,FTP,JDBC,和JNDI等测试时使用需要的所有文件。
如果你想执行JDBC测试,你当然需要从供应商得到适当的JDBC驱动。
JMeter没有提供任何JDBC驱动。
你可能需要下载的其它软件:BeanShell - BeanShell函数和测试元件需要Java Activation Framework - JavaMail需要Java Mail - Mail可视化,Mail Read er 和WebService(SOAP)取样器需要JMS - JMS取样器需要下一步, 开始使用JMeter并且参见用户手册创建一个测试计划一章使自己更加熟悉JMeter基础(例如,添加和删除元件)。
jmeter工具的使用
jmeter工具的使用JMeter是Apache基金会提供的一个开源的系统压力测试工具。
它可以用于测试静态和动态资源,例如静态文件、动态页面、数据库、Webservices、FTP等多种类型的服务器,并能模拟多种类型的压力测试。
JMeter使用灵活,可以手工调试测试计划,也可以使用脚本语言自动化测试。
它主要用于模拟用户请求,收集测试数据,生成测试报告等,是Web应用性能测试及负载测试的首选工具之一。
1. JMeter的下载和安装JMeter可以从Apache官网下载,选择相应的版本并下载即可。
下载完成后,解压缩文件夹,找到bin目录下的jmeter.bat或jmeter.sh文件并运行即可。
2. 新建测试计划打开JMeter,选择File->New,新建一个测试计划。
3. 添加线程组在左侧树形结构中展开测试计划,右键点击“线程组”,选择“添加->Threads(Users)->Thread Group”,将线程组添加到测试计划中。
4. 添加Sampler选中线程组并右键,选择“添加->Sampler->HTTP请求”,配置HTTP请求的相关参数,例如URL、请求方法、请求参数等。
5. 添加断言对于HTTP请求的结果,可以添加断言来检查响应结果是否符合预期,如响应代码、响应内容等。
6. 设置 Listener在测试计划中选择“添加->Listener->聚合报告”,生成聚合报告,记录测试结果。
可以选择不同的Listener来生成不同类型的测试结果报告。
7. 执行测试执行测试前需要确认Sampler和Listener已经配置完毕。
然后在测试计划中选择“运行->启动”即可开始测试。
测试完成后,可以查看测试结果报告并分析结果。
JMeter是一个强大的工具,使用时需要谨慎操作,充分了解JMeter的使用方法和测试场景,以确保测试结果的准确性和有效性。
jemeter 汇总报告列说明
jemeter 汇总报告列说明【原创实用版】目录一、JMeter 简介二、JMeter 汇总报告的作用三、JMeter 汇总报告的列说明四、总结正文一、JMeter 简介JMeter 是 Apache JMeter 的开源测试工具,它是一个用于测试和测量软件应用程序的性能的工具,可以模拟各种负载情况,如并发访问、压力测试等。
JMeter 具有易于使用、可扩展性强、支持分布式测试等特点,广泛应用于软件测试领域。
二、JMeter 汇总报告的作用在 JMeter 测试过程中,汇总报告可以提供关于测试结果的详细信息,包括各项性能指标的统计数据、趋势图和总结。
通过查看汇总报告,测试人员可以快速了解测试结果,找出系统性能瓶颈,并根据测试结果进行相应的优化和调整。
三、JMeter 汇总报告的列说明JMeter 汇总报告主要包括以下几列:1.标签:用于标识不同的测试元素,如线程组、取样器等。
2.样本数:表示该测试元素执行的样本数量。
3.成功率:表示测试元素执行成功的样本占比。
4.响应断言:表示测试元素在响应时间内完成任务的样本占比。
5.响应时间:表示测试元素完成任务的平均响应时间。
6.最大响应时间:表示测试元素完成任务的最长响应时间。
7.吞吐量:表示测试元素在单位时间内处理的请求数量。
8.每秒请求数:表示测试元素在单位时间内接收的请求数量。
9.CPU 使用率:表示测试过程中 CPU 的占用情况。
10.内存使用率:表示测试过程中内存的占用情况。
11.线程数:表示测试过程中使用的线程数量。
12.错误和警告:表示测试过程中出现的错误和警告信息。
四、总结JMeter 汇总报告提供了丰富的测试结果信息,可以帮助测试人员全面了解系统的性能状况。
通过对汇总报告中的各项指标进行分析,测试人员可以找出性能瓶颈,并采取相应的优化措施。
JMeter使用说明剖析
一、简介JMeter是Apache组织开发的基于Java的压力测试工具。
用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。
它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库,FTP 服务器, 等等。
JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。
二、术语1.线程组测试里每个任务都要线程去处理,所有我们后来的任务必须在线程组下面创建。
2.取样器(Sampler)可以认为所有的测试任务都由取样器承担,有很种,如:HTTP 请求。
3.监听器是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。
三、使用附注:以下步骤是详细步骤(可以跳过)。
这里已经生成测试计划文件,导入即可。
若出现有问题,根据下面步骤重新建立。
1、JDK环境配置2、解压apache-jmeter-2.6.zip,打开\apache-jmeter-2.6\bin下的jmeter.bat3、建立线程组:右键测试计划->添加->Threads->线程组4、建立成功后注意:上图,若建立5个线程,循环5次,在10秒中创建完,即每个线程相隔5/10=0.5秒。
5、添加取样器:右击线程组->添加->Sampl er->HTTP 请求附注:一些有用的监视器7、插件的使用(PerfMon插件)JMeter本身对性能指标信息是不做收集的,PerfMon是用来收集被压服务器的各种性能指标,例如:CPU, Memory, Swap, Disks I/O and Networks I/O ……7.1、JMeterPlugins-1.1.0解压JMeterPlugins-1.1.0将JMeterPlugins.jar放到\apache-jmeter-2.6\apache-jmeter-2.6\lib\ext下7.2、serverAgent如果你是windows环境:进入serverAgent目录,直接双击startAgent.bat,启动agent注:agent启动默认监听的端口是44447.3、启动Jmeter。
JMeter使用说明
一、简介JMeter是Apache组织开发的基于Java的压力测试工具。
用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。
它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库,FTP 服务器, 等等。
JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。
二、术语1.线程组测试里每个任务都要线程去处理,所有我们后来的任务必须在线程组下面创建。
2.取样器(Sampler)可以认为所有的测试任务都由取样器承担,有很种,如:HTTP 请求。
3.监听器是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。
三、使用附注:以下步骤是详细步骤(可以跳过)。
这里已经生成测试计划文件,导入即可。
若出现有问题,根据下面步骤重新建立。
1、JDK环境配置2、解压apache-jmeter-2.6.zip,打开\apache-jmeter-2.6\bin下的jmeter.bat3、建立线程组:右键测试计划->添加->Threads->线程组4、建立成功后注意:上图,若建立5个线程,循环5次,在10秒中创建完,即每个线程相隔5/10=0.5秒。
5、添加取样器:右击线程组->添加->Sampl er->HTTP 请求附注:一些有用的监视器7、插件的使用(PerfMon插件)JMeter本身对性能指标信息是不做收集的,PerfMon是用来收集被压服务器的各种性能指标,例如:CPU, Memory, Swap, Disks I/O and Networks I/O ……7.1、JMeterPlugins-1.1.0解压JMeterPlugins-1.1.0将JMeterPlugins.jar放到\apache-jmeter-2.6\apache-jmeter-2.6\lib\ext下7.2、serverAgent如果你是windows环境:进入serverAgent目录,直接双击startAgent.bat,启动agent注:agent启动默认监听的端口是44447.3、启动Jmeter。
jmeter的使用
Jmeter是一款开源的性能测试工具,可以用来测试Web应用程序、FTP服务器、数据库连
接等。
使用Jmeter可以对Web应用系统进行负载测试,并且可以根据不同的需要定制化
脚本。
使用步骤如下:
1. 创建新的Test Plan:在JMeter中打开文件-> 新建-> Test Plan 。
2. 添加Thread Group: 右击Test Plan -> Add -> Threads (Users) -> Thread Group 。
3. 设定配置信息: 右击Thread Group -> Add -> Config Element -> HTTP Request Defaults ,然后在HTTP Request Defaults中输入相关信息(例如Server Name or IP, Port Number, Path 等)。
4. 添加Sampler: 右击Thread Group->Add-> Sampler-> HTTP Request ,然后在HTTP Request中输入相关信息(例如Method, Parameters 等)。
5. 添加Listener : 右击Thread Group->Add-> Listener- > View Results Tree ,然
后就可以看到测试的状态了。
6. 运行Test Plan : 选中Test Plan , 然后单击Run或者Ctrl+R来运行你的test plan。
jmeter正则表达式提取器的使用
jmeter正则表达式提取器的使用Apache JMeter 是一个开源的、基于 Java 的性能测试工具,它可以用来测试 Web 应用程序的性能。
正则表达式提取器是 JMeter 中的一个元件,用于从响应数据中提取信息。
以下是如何在 JMeter 中使用正则表达式提取器的基本步骤:1. 添加正则表达式提取器:在 JMeter 中,你可以通过右键点击线程组或者一个采样器,然后选择 "添加" -> "正则表达式提取器" 来添加一个新的正则表达式提取器。
2. 配置正则表达式提取器:在添加了正则表达式提取器之后,你会看到一个配置界面。
在这个界面上,你需要填写一些信息,包括:引用名称:一个唯一的名称,用于标识这个提取器。
正则表达式:这是用来匹配响应数据的正则表达式。
你可以使用JMeter 的正则表达式语法,也可以使用 Java 的正则表达式语法。
匹配数量:这个选项决定了要提取多少个匹配项。
你可以选择 "0" 来表示只提取第一个匹配项,或者 "1" 来表示提取所有匹配项。
引用名称1:这个选项用于选择一个或多个引用名称,这些引用名称将被用于提取匹配项。
模板:这个选项用于指定如何格式化提取的匹配项。
你可以选择一个模板来指定如何处理匹配项。
3. 添加断言和监听器:在你配置好正则表达式提取器之后,你需要添加一些断言和监听器来检查提取的结果是否符合你的预期。
你可以通过右键点击线程组或者一个采样器,然后选择 "添加" -> "断言" 或 "监听器" 来添加断言或监听器。
4. 运行测试:在你配置好所有的元件之后,你可以运行你的测试了。
你可以通过右键点击线程组或者一个采样器,然后选择 "运行" 来开始测试。
5. 查看结果:在运行完测试之后,你可以通过监听器来查看结果。
Jmeter工具的使用
•
•
4、逻辑控制器可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟 复杂的请求序列。
5、断言可以用来判断请求响应的结果是否如用户所期望的。它可以用来隔离问题域, 即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。
•
• •
6、配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。
并发性能测试是重点
• 并发性能测试的过程是一个负载测试和压 力测试的过程,即逐渐增加负载,直到系 统的瓶颈或者不能接收的性能点,通过综 合分析交易执行指标和资源监控指标来确 定系统并发性能的过程。 • 并发性能测试的目的主要体现在三个方面: 以真实的业务为依据,选择有代表性的、 关键的业务操作设计测试案例,以评价系 统的当前性能。
• • • • • 参数化Step 1:将HTTP Request需要参数化的项的Value处,用${参数名}代替;如:将p的Value修改为${Searchitem} 参数化Step 2:在名叫Step 1的Simple Concoller中添加CSV Data Set Config 参数化Step 3:设置CSV Data Set Config Filename --- 参数项文件 File Encoding --- 文件的编译方法,一般为空 Vaiable Names --- 文件中各列所表示的参数项;各参数项之间利用逗号分隔;参数项的名称应该与HTTP Request中的参数项一致。 Delimiter --- 如文件中使用的是逗号分隔,则填写逗号;如使用的是TAB,则填写\t; Recycle on EOF? --- True=当读取文件到结尾时,再重头读取文件 False=当读取文件到结尾时,停止读取文件
Jmeter中文手册(完全版)
安装JDK:JAVA的环境变量设置使用鼠标右击“我的电脑”->属性->高级->环境变量系统变量->新建->变量名:JAVA_HOME 变量值:d:\jdk系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin;系统变量->新建->变量名:CLASSPATH 变量值:.;安装TomcatCATALINA_HOME=d: \tomcatUser Manual用户手册1 介绍Apache JMeter 是100%纯JAVA桌面应用程序, 被设计为用于测试CS结构的软件.同时也可以用来测试静态和动态资源的性能, 例如:静态文件, Java Servlets, CGI Scripts, Java Object, 数据库和FTP服务器等等. JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能.同时, JMeter可以帮助你对你的应用程序进行回归测试. 通过你创建的测试脚本和assertions来验证你的程序返回了所期待的值. 为了更高的适应性, JMeter允许你使用常规表达式来创建这些assertions.2 开始2.1 安装下载安装最新的版本, 将会包含所有你需要建立和运行Web, FTP, JDBC和JNDI测试的文件. 如果你想进行JDBC测试, 你需要使用合适的JDBC driver. JMeter中不包含JDBC drivers.其他可能需要下载的软件:●Bean Shell●Java Activation Framework – needed for Java Mail●Java Mail – needed for mail visualiser and SOAP test●JMS – for JMS samples●General Java Kit接下来一步, 就是浏览”建立测试计划”一章来熟悉JMeter的基本操作, 例如:添加和删除元素. 最后,浏览适当的章节来学习如何建立不同种类的测试计划. 例如, 如果你对Web 应用程序的测试比较感兴趣, 就浏览”建立一个Web测试计划”章节. 其他种类的测试计划建立的章节包括:JDBC, FTP和JNDI.一旦你熟悉了建立和运行JMeter测试计划, 就可以开始熟悉各种配置参数, 例如: timers, listeners, assertions和其他的参数, 来帮助你更好地控制你地测试计划.2.2 系统要求JMeter 1.8 以上的版本需要JDK1.4以上的版本支持运行.JMeter可以运行在如下操作系统上: Unix, Windows和Open VMS.2.3 可选项目如果你打算进行JMeter开发或者使用Sun的Java标准扩展包,你需要如下所列的可选包:2.3.1 Java Compiler需要1.4以上的JDK版本2.3.2 SAX XML ParserJMeter默认使用Apache的Xerces XML parser. 如果你想使用一个不同的XML parser, 将第三方的parser包放入JMeter的classpath中,然后使用设置的parser包的全名更新文件jmeter.properties2.3.3 Email SupportJMeter拥有有限的邮件功能来发送测试结果到指定邮箱中. 应用邮箱功能,需要将Sun的JavaMail包放入JMeter的classpath中并激活.2.3.4 SSL Encryption为使用HTTPS测试web服务器, JMeter需要设立SSL机制. 将所需要的SSL类包放入JMeter 的classpath中, 更新jmeter.properties来注册SSL Provider.可以使用SSL Manager 用来管理这些证书.注意: 在JDK 1.4以上版本, SSL已经作为标准库加入.2.2.5 JDBC Driver你需要将你的数据库供应商提供的JDBC drivers添加到classpath中来进行JDBC测试.2.2.6 Apache SOAPApache SOAP测试需要mail. jar和activation.jar. 只需要将下载的两个jar文件复制到JMeter下的lib目录中, JMeter会自动的识别和使用它们.2.3 运行运行JMeter, 使用jmeter.bat (windows) 或 jmeter (UNIX).2.3.1 JMeter的classpathJMeter自动在/lib和/lib/ext目录中的jar中的类. 如果你想添加其他JAR文件到JMeter 的classpath中,你必须复制他们到lib目录中.如果你开发了一个JMeter特定组件, 生成jar包后复制到lib目录下的ext目录中.而且,你也可以将有效的jar文件安装到$JAVA_HOME/jre/lib/ext目录中.值得注意的是设置CLASSPATH环境变量没有任何作用. 这是因为JMeter使用”java –jar”开始, java命令自动忽略CLASSPATH值, 同时-jar选项的使用将屏蔽掉-classpath 和-cp选项.2.3.2 使用代理服务器如果你在防火墙或者代理服务器后进行测试, 你需要给JMeter提供防火墙和代理服务器的hostname和port号. 在命令行运行 jmeter.bat或jmeter命令并使用如下参数:-H 代理服务器的hostname或者IP地址-P 代理服务器的port号-u 代理服务器验证使用的用户名-a 代理服务器验证使用的用户密码示例:jmeter –H yahoo –P 8080 –u test –a password2.3.3 非GUI模式对于那些非交互的测试, 你可以使用非GUI的模式运行JMeter. 使用如下命令:-n 指定的JMeter运行在non-GUI模式下-t 包含测试计划的JMX文件的名称-l 用于记录简单结果的JTL文件名称.-r 运行所有的在jmeter.properties中指定的远程主机.(或在命令行中提供的覆盖属性提供的远程主机名.也可以同时提供防火墙或者代理服务器的信息-H 服务器名或IP地址-P 端口号示例:jmeter –n –t my.jmx –l log.jtl –H yahoo –P 88002.3.4 服务器模式为了对分布式测试, 可以运行在服务器模式下, 然后通过GUI来控制每个服务器.运行jmeter-server/jmeter-server.bat, 附加下列可选项:-H 代理服务器的hostname或IP地址-P 端口号示例:jmeter-server –H yahoo –P 80002.3.5 通过命令行来重载PropertiesJava system properties, JMeter properties和logging properties 能够直接通过命令行来直接重载而不用修改jmeter.properties文件. 使用以下参数项:-D[prop name]=[value] 定义一个java system property值-J[prop name]=[value] 重载一个JMeter property-L[category]=[priority] 重载一个logging setting, 设置一个指定的类别名给指定的优先级别-L标志位可以不指定category,将其设为root级别示例:jmeter –Duser.dir=/home/mstover/jmeter_stuff \ -Jremote_hosts=127.0.0.1 –Ljmeter.engine=DEBUGjmeter –LDEBUG注意: 命令行输入的properties在启动时先处理, 但是晚于logging system的建立. 所以尝试使用-J标志去更新log_level或者log_file的properties将没有任何效果.2.3.6 Logging和error信息如果JMeter检查到一个错误, 一个信息就被写道log文件中. Log文件的名字是在jmeter.properties文件中定义的. 默认值位jmeter.log, 在JMeter的开始目录中可以看到, 例如 bin目录中.除了记录错误信息, jmeter.log文件中同时记录了一些测试运行的信息. 例如:10/17/2003 12:19:20 PM INFO - jmeter.JMeter: Version 1.9.2003100210/17/2003 12:19:45 PM INFO - jmeter.gui.action.Load: Loading file:c:\mytestfiles\BSH.jmx10/17/2003 12:19:52 PM INFO - jmeter.engine.StandardJMeterEngine: Running the test!10/17/2003 12:19:52 PM INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group BSH. Ramp up = 1.10/17/2003 12:19:52 PM INFO - jmeter.engine.StandardJMeterEngine: Continue on error10/17/2003 12:19:52 PM INFO - jmeter.threads.JMeterThread: Thread BSH1-1 started 10/17/2003 12:19:52 PM INFO - jmeter.threads.JMeterThread: Thread BSH1-1 is done 10/17/2003 12:19:52 PM INFO - jmeter.engine.StandardJMeterEngine: Test has endedLog文件有助于定位错误出现的原因,因为它并未打断测试来显示一个error窗口.2.4 配置JMeter如果你想修改JMeter运行使用的properties,你可以通过两种方式:修改bin目录中的文件jmeter.properties或者创建你自己的properties文件使用命令行来指定该文件.Parameters3 建立测试计划一个测试计划描述了一系列JMeter在运行中要执行的步骤. 一个完整的测试计划包含一个或多个Thread Groups, logic controllers, sample generating controllers, listeners, timers, assertions和configuration elements.3.1 添加删除 Elements添加elements到测试计划,可以通过在tree中element上点击右键,然后从add列表中选择一个新的element. 同样,elements也可以通过open选项从一个文件中载入.删除一个element,确定该element被选定,右击选择删除选项.3.2 载入和存储elements载入文件中的elements,在已有的tree中点击右键, 然后选择open选项. 选择elements 存储的文件, JMeter将载入文件中的所有elements到tree中.存储tree的elements, 选择一个element然后右击, 选择save选项.JMeter会存储选定的element, 以及所有的子elements. 这样你就可以存储测试树的一段, 单独的element或者整个测试计划.3.3 配置tree的elements任何一个一个测试树中的element都可以在JMeter的右边框架显示. 这样允许你来配置该测试element的属性. 能够配置什么属性取决于你选定的element的类型.3.4 运行测试计划在run菜单中选择开始来运行测试计划. 停止测试计划, 从菜单中选择停止. JMeter不会自动的在运行测试计划时有任何表现. 一些listeners使得JMeter运行表现出来.但是唯一的方法是检查run菜单中的start选项, 如果是disable的而且stop是enabled,那么JMeter就在运行你的测试计划,至少表面上看来如此.3.5 Scoping RulesJMeter测试树中包含的elements是分级和有次序的.一些elements在测试中有严格的等级要求(Listeners, Config Elements, Post-Processors, Pre-Processors, Assertions, Timers), 而其他一些有primarily ordered的要求(controllers, samplers). 当你创建测试计划时, 你需要建立一个有次序的sample请求(通过sampler), 这些反映了一组需要执行的测试步骤. 这些请求经常在有序的controllers中组织.例图1请求的次序将为: one, two, three, four.有些controllers会影响他们sub-elements, 你可以在component reference 中查看这些.一些其他的elements是有级别的. 例如, Assertion在测试树中是有级别的.如果他的父亲节点是一个request,那么它将仅仅影响该request. 如果父节点是一个controller, 那么它将影响该controller的所有后代的请求. 例如:Assertion #1仅仅应用到Request One上. 而Assertion#2应用到Request Two和Three 上.另外一个关于Timers的示例:在这个例子中, request的名字反映了他们在测试中应该执行的次序.Timer#1将应用到Request Two, Three和Four上(注意对于分等级的elements如何排序毫不相关). Aserrtion#1将仅仅应用到Request Three上. Timer#2将影响所有的请求.如果你想想任何一个request通过树的路径被传递, 到它的父节点,在到它的父节点的父节点, 以此类推, 在每一级的父节点上集合所有的configuration elements, 那么你就知道它是如何工作的了.注意:对于Configuration elements中的 Header Manager, Cookie Manager和Authorization manager来说, 与其他的Configuration Default elements不同. Configuration Default elements被整合成一个Sampler访问的集合.而Manager的设置不会被整合.如果超过一个的Manger在Sampler的范围中,只有一个Manager被使用,但是目前还无法判断那个被使用.4 测试计划的elements测试计划对象现在拥有了一个新的checkbox选项, 叫做”功能测试”. 如果选择,JMeter 将记录所有server为每个sample返回的值. 如果你已经在测试listeners中选定了一个文件, 那么这些数据将被写入到文件中. 这个有助于你通过一个小型的测试来检验JMeter是否配置正确, 而你的服务器返回正确的结果. 值得注意的是这个文件的大小将增长的很快使得JMeter的性能降低. 这个选项在做压力测试时需要关闭掉(默认为关闭).如果你不将数据写入文件中,那么这个选项没有任何不同.4.1 Thread GroupThread Group elements 是任何一个测试计划的开始点. 所有的测试计划中的elements都要在一个Thread Group中. 如名字显示那样, thread group element控制了一组线程, JMeter使用这些线程来执行你的测试. 你可以做如下操作来控制thread group:●设置线程的数量●设置ramp-up周期●设置测试执行的次数每一个线程都会完全和独立的执行测试计划而不影响其他线程. 多线程可以用于模拟到你的服务器程序的并发连接.Ramp-up period 告诉JMeter需要多长时间来”ramp-up”去装载全部的线程. 如果10个线程被使用, 而ramp-up period为100秒, 那么JMeter会花100秒来使得所有的10个线程运行. 每个线程将在上个线程开始后10秒开始. 又如, 如果有30个线程而ramp-up为120秒.那么每个线程在延迟4秒后启动.延迟时间=ramp-up period时间数/线程数默认的,一个thread group被设置为不限定的循环. 你可以设置thread group循环的次数.如果设置为一次, 那么JMeter将执行测试一次然后停止.Version 1.9 将允许你预定时间去运行测试. 选定Scheduler的checkbox, 你就可以设定时间.4.2 ControllersJMeter有两种controller: Samplers和Logical ControllersSamplers告知JMeter发送请求到服务器. 例如, 如果你想JMeter发送一个HTTP请求, 就添加一个HTTP Request Sampler. 当然你也可以定制一个请求, 在Sampler中添加一个或多个 Configuration Elements.Logical Controllers使你可以定制JMeter发送请求的逻辑. 例如, 你可以添加一个Interleave Logic Controller来控制交替使用两个HTTP Request Samplers. 同样, 一个特定的Logic controller, 作为Modification Manager, 可以让你修改请求的结果.4.2.1 SamplersSampler 告知JMeter发送请求到server端. JMeter现在有如下的samplers:●FTP Request●HTTP Request●JDBC Request●Java Object Request●LDAP Request●SOAP/XML-RPC Request●Web Service (SOAP) Request (Alpha Code)每个sampler都有一些可以设置的properties. 你也可以在一个sampler中添加Configuration Elements来做更多的设置. 当然, 值得注意的是JMeter按照request在tree中添加的次序来发送请求.如果你想同时发送多个并发的同一种类的request, 例如HTTP request, 到同样一台服务器. 可以考虑使用一个Defaults Configuration Element. 每个Controller拥有一个或多个默认元素.当然不要忘记添加一个Listener到你的Thread Group中来察看和存储你的测试结果.如果你对JMeter对你的request返回的response进行简单的校验很感兴趣, 你可以在Request Controller中添加一个Assertion. 例如, 在一个web程序的压力测试中, 服务器可能会返回多个成功的”HTTP Response”, 但是页面也许包含了一些错误或者丢失的部分. 你可以添加assertions来检查特定的HTML标签,常见的错误字符串,等等诸如此类的数据. JMeter允许你使用常规表达式来创建这些assertions.4.2.2 Logic ControllersLogic Controller使得用户可以定制JMeter发送请求的时机.Logic Controllers可以拥有如下的任何一个作为子elements: Samplers(requests), Configuration Element和其他的Logic Controllers. Logic Controllers可以改变子elements的请求次序. 他们可以自己修改requests, 使得JMeter可以重复发送请求等等.为了便于理解Logic Controllers在测试计划中所起的作用, 举例如下:●Test Plan⏹Thread Group◆Once Only Controller●Logic Request (an HTTP request)◆Load Search Page (HTTP sampler)◆Interleave Controller●Search “A” (HTTP Sampler)●Search “B” (HTTP Sampler)●HTTP default request (Configuration Element)◆HTTP default request (Configuration Element)◆Cookie Manager (Configuration Element)首先表明了login请求只会在第一次运行时执行. 其余的请求将自动跳过它. 达到这个效果的原因就是因为Once Only Controller的影响左右.在login之后, 下一个Sampler加载了search page (想象一下, 一个在用户登录后就转入search页面来做搜索的web程序). 这个仅仅是一个简单的请求, 并未通过任何Logic Controller的筛选过程.在search页面加载后, 我们想做一些搜索. 实际上, 我们要做两个不同的搜索. 然而, 我们想在每个独立的搜索中重新加载search页面. 我们可以用四个简单的HTTP request elements来达到目的(载入search页面,搜索”A”,载入search页面,搜索”B”). 而实际上, 我们使用了另一个方法, 我们使用Interleave Controller, 它将每次运行一个完整的测试只使用一个子element的request. 而且能够保持这些子elements的次序来运行.注意:HTTP Request Defaults是属于Interleave Controller的. 想象一下”search A”和”Search B”分享同一个”PATH”信息(一个指定的HTTP请求包括domain, port, method, protocol, path和arguments等, 还有其他额外的信息). 这导致: 两者都是search的请求, 点击同一个后台搜索引擎. 与其给两者配置相同PATH信息,不如将信息抽象出来给一个Configuration Element.当Interleave Controller传递”Search A”和”Search B”的请求时, 将自动使用HTTP Default Request Configuration Element的值来取代空白的PATH域. 所以, 我们将这些请求的PATH域空置, 然后将这些信息放入到Configuration Element中.树中接下来的element是另外一个HTTP Default Request, 这次是给Thread Group自己使用的. Thread Group拥有一个内置的Logic Controller, 因此, 它象上面的介绍的那样一样,来使用这个Configuration Element. 它将填入到任何一个通过的Request的空白中. 当你做web测试时, 这是非常有用的. 你可以将所有的HTTP Sampler elements的DOMAIN 域空白, 然后使用Thread Group中添加的HTTP Default Request的信息补充这些空白域. 这样, 你可以仅仅改变一个域就能将整个测试计划应用到另外的server上. 否则你需要一个一个更改Sampler.最后一个element是HTTP Cookie Manager. 所有的web测试中都应该添加该element, 否则JMeter将忽略所有的cookie. 在Thread Group级添加这个元素,可以保证所有HTTP request将共享同样的一个cookie.Logic Controller可以被组合起来从而获得多种不同的结果.4.3 ListenersListeners提供了获取在JMeter运行过程中搜集到的信息的访问方式. 最简单的Listener, Graph Results Listener图示出了响应时间. Listeners提供了一种图型化的方式来查看JMeter运行过程中产生的数据.另外, Listeners能够直接将搜集的到数据存入到文件中以备后用. 任何一个listener都拥有一个设置该文件存储地址的域.Listener能够加到测试中的任何位置. 他们将仅仅收集同级别和所有低级别的elements产生的数据.4.4 Timers默认的,JMeter线程发送requests时之间没有任何停顿. 我们建议你指定一个延迟时间. 这可以通过添加一个有效的Timer到你的Thread Group中实现. 如果你没有添加一个延迟时间, JMeter可能会在极短时间内发送大量的请求而引起server崩溃.Timer可以使得JMeter在线程发送每个请求时有一个延迟. 如果你添加了多个timer到一个Thread Group中时, JMeter将使用累计的延迟时间.4.5 AssertionsAssertions 允许你对在测试中从server端返回的回复中验证某些数据. 使用assertion, 你可以实际地测试你的程序返回的值是否是期望值.例如, 你可以检验回复字符串中包含一些特殊的文本. 你指定的文本可以是一个Perl-style的常规表达式, 然后指定回复中是否包含该文本, 或者整个回复都应该相符合.你可以给任何一个Sampler添加一个assertion. 例如, 你可以添加一个assertion到一个HTTP Request来检查文本”yahoo”. JMeter就会在返回的回复中察看该文本. 如果JMeter 不能发现该文本,那么将标志该请求是个失败的请求.为了查看assertion的结果, 你需要添加一个Assertion Listener到Thread Group中.4.6 Configuration ElementsConfiguration Element与Sampler紧密联系在一起工作. 尽管它不能发送请求, 但是它可以被添加到或者去修改请求(除了HTTP Proxy Server)之外.Configuration Element只能被所在的tree branch访问. 例如, 你在一个Simple Logic Controller中设置了一个HTTP Cookie Manager, 那么这个Cookie Manager将只能被设置在Simple Logic Controller中的HTTP Request Controllers访问. 如下图中所示, Cookie Manager 能够被HTTP request “Web Page1”和”Web Page2”访问, 但是不能被”Web Page3”访问.并且, 一个tree branch中的configuration element 将拥有更高的优先级, 与同一个parent branch 中的同样的元素相比. 例如, 我们定义了两个 HTTP Request Defaults elements, “Web Defaults 1”和”Web Defaults 2”. 因为我们将”Web Defaults 1”放入到一个Loop Controller中,所以只有”Web Page 2”能访问它. 而其他的HTTP requests 只能使用我们在”Thread Group”(所有其他branch的”parent”)中设置的”Web Defaults 2”.4.7 Pre-Processor ElementsPre-Processor在Sampler Request被创建前执行一些操作. 如果一个Pre-Processor被附加到一个Sampler element上, 那么它将先于Sampler Element运行. Pre-Processor最主要用于在Sampler运行前修改一些设置, 或者更新一些无法从response文本中获取的变量.4.8 Post-Processor ElementsPost-Processor在Sampler Request被创建后执行一些操作. 如果一个Post-Processor被附加到一个Sampler element上, 那么将紧接着sampler element运行后运行.Post-Processor主要用于处理回复数据, 常常用来从其中获取某些值.5 建立一个web测试计划在本章中, 你将学习到如何创建一个基本的测试计划用来测试一个web站点. 你创立5个用户向Jakarta网站的两个页面发送请求. 同时,你将设置这些用户运行他们的测试两遍. 所以, 总共的request数是:5(user)*2(request)*2(repeat 2 times)=20 HTTP Requests. 为建立测试计划, 你将使用如下elements: Thread Group, HTTP Request, HTTP Request Defaults和Graph Results.5.1 Adding Users 添加用户每个JMeter测试计划的第一步都是要添加一个Thread Group element. Thread Group将告诉JMeter 你要设置的用户的数目, 发送请求的频率和请求的次数.选择测试计划, 点击右键, 选择添加Thread Group. 这时你就应该在Test Plan下看到Thread Group element了. 如果你没有看到, 那就点击Test Plan展开树.然后, 你需要修改那些默认的properties. 选择树中的Thread Group element, 在JMeter 左侧的窗口中应该显示出Thread Group的Control Panel.第一步, 给我们的Thread Group 添加一个更详细的名称. 在名字域中, 输入Jakarta Users.然后增加用户的数目到5 (调用的线程数).在下一个域中, Ramp-Up Period, 使用默认值0秒. 这个properties告诉JMeter两个User 开始发送请求之间的延迟时间. 例如,你输入5秒, JMeter将在5秒后启动所有的用户. 所以, 我们有五个用户和5秒的Ramp-up period, 那么两个用户之间开始时间的延迟时1秒.(5 user/5=1).如果值为0, 那么JMeter将立刻开始你所有的用户操作.最后,清除”Forever”的checkbox, 输入2在Loop Count域中. 这个property告诉JMeter 要重复运行你的测试几次. 如果你输入的循环值为1, 那么JMeter将只运行一次你的测试. 如果要JMeter不停运行你的测试,选择Forever.在大部分程序中, 你不得不手工方式来更新你在控制面板中的更改. 然而, 在JMeter中, 控制面板将自动的接受你的更改. 例如, 你改变了一个element的名称, 树将自动更新为最新的文本在你离开控制面板后(例如,选择了另一个element).5.2 添加Default HTTP Request Properties现在我们已经定义了我们的用户, 是时间来定义他们要执行的任务了. 在这节, 你将指定你的HTTP 请求的默认设置. 然后, 在5.3中, 你将添加HTTP Request elements来使用你制定的默认值.选择你的Jakarta User element.右击选择添加Config Element中的HTTP Request Defaults. 然后选择这个新的元素查看他的控制面板.象大多数的JMeter元素一样, HTTP Request Default的控制面板拥有一个可修改的名称域. 在本例中,使用默认值.跳到下个域, Web Server’s Name/IP. 在本例中, 所有的测试用例将发送到同一个web服务器上去: . 将这个域名输入到该字段中. 这是我们唯一指定的默认值, 所有留下其他的域为空白值.注意:HTTP Request Defaults elements 不会告诉JMeter去发送HTTP请求. 它只是简单的定义了HTTP request elements会使用到的默认值.5.3 添加Cookie支持几乎所有的web测试要求使用cookie, 除非你的程序特别指明不使用cookie. 添加cookie 支持, 最简单的是添加HTTP Cookie Manager到每一个Thread Group中. 这会保证每个线程都获得自己的cookie, 但是交叉共享所有的HTTP Request 对象.添加HTTP Cookie Manager, 点击Thread Group, 然后选择添加HTTP Cookie Manager.5.4 添加HTTP Request在我们的测试计划中, 我们需要创建两个HTTP Requests. 第一个是访问Jakarta的主页, (). 第二个是访问/site/guidelines.html.右击添加第一个HTTP Request. 然后修改该元素的properties1.将名字改为 HOME Page2.设置路径为“/”. 注意的是你不需要设置server的名称, 因为你再HTTP RequestDefaults element中已经设置了.紧接着添加第二个 HTTP request.5.5 添加一个Listener来查看和存储测试结果最后一个要在测试计划中添加的元素是Listener. 这个元素用来存储所有的测试结果到一个文件和提供一个数据的视图模式.添加Graph Results listener到Thread Group中. 然后指定一个路径和文件名用于存储测试结果. 你可以输入, 也可以通过browse按键来选择.5.6 保存测试计划经管这不是一个必须的步骤, 但是我们建议你将测试计划在运行前存入一个文件.5.7 运行测试计划在Run菜单中, 选择运行.一旦JMeter完成了你的测试计划, 选择停止.如果你选择将listener中的测试结果存储到一个文件中, 那么你将拥有这个可以被任何浏览器查看的文件. 不同的浏览器显示不同的风格.6 建立一个高级的web测试计划本节中, 你将学习如何建立一个更高级的测试计划来测试web站点6.1 使用URL重写技术处理用户的session如果你的web程序使用URL重写而不是cookie来保存session的信息, 那么你需要做一些额外的工作来测试你的站点.为了正确的进行URL回写, JMeter需要过滤从server端获的HTML来获得唯一的session ID.使用合适HTTP URL Re-Writing Modifier来达到此目的. 将你的Session ID作为参数写入到modifier中, 它将自动添加session到每一个request中. 如果request中已经有了该值, 将直接覆盖.示例:上图中显示了一个使用了URL Re-writing的测试计划. 注意modifier被附加在Thread Group上, 这样就保证了所有线程组的请求都会被应用到.在上图中, 我们看到的是URL Re-Writing modifier的GUI. 仅仅只有一个域给用户用于设置session ID参数的名字.6.2 使用Header ManagerHTTP Header Manager 可以使你定制JMeter发送的请求的报头. 象HTTP cookie Manager 一样, 应该添加到合适的级别上. 除非出于某种原因你希望你测试不同的request发送不同的报头.7 建立一个database测试计划本节中, 你将学习如果建立一个测试数据库的基本测试计划.你将创建一个有10个用户发送2个SQL请求到数据库server的测试. 同时, 你将告诉用户运行他们的测试三遍. 所以,总共的请求次数是:10 users * 2 requests * 3 times = 60 JDBC requests. 为了创建测试计划, 你将使用元素: Thread Group, JDBC Request 和 Graph Results.7.1 添加用户每个JMeter测试计划创建的第一步都是添加Thread Group 元素. Thread Group用于设置发送请求的用户数,频率和请求总数.如下图, 设置10个线程代表10个用户,用户的延迟时间为0,一共循环3次.7.2 添加JDBC请求尽管有JDBC DATABASE Connection Pool Defaults, JDBC Database Login Defaults 和 JDBC SQL Query Defaults 组件可用, 但是本例中并未涉及.我们要添加两个JDBC Request. 下图为请求一.注意: 需要将需要的JDBC的drive放入Classpath中.下图为请求二.7.3 添加Listener元素来监视和存储测试结果如下图所示, 添加了一个Graph Result Listener.7.4 保存测试计划7.5 运行测试计划8 建立一个FTP测试计划1 添加用户通过添加一个Thread Group来添加用户2 添加Default FTP Request Properties添加一个config element中的FTP Request Default 用于所有的FTP requests.3 添加 FTP Requests在我们示例中, 要添加两个FTP请求.请求一:请求二:8.4 添加一个Listener来查看和存储测试结果最后, 我们添加了一个Spline Visualizer listener用于观察和存储测试结果.8.5 保存测试计划8.6 运行测试计划9 建立一个LDAP测试计划9.1 添加用户创建一个Thread Group用于添加用户和设置请求次数和频率.9.2 添加一个登录控制元素可以添加一个Config Element的Login Config Element用于用户登录控制.9.3 添加一个LDAP Request Defaults可以添加一个config element中的LDAP Request Defaults用于控制一些共享默认值.9.4 添加LDAP Request添加的LDAP Request通过选择不同的测试配置来完成四种操作: 添加,删除,修改和查询. 例如, 修改:9.5 添加一个Listener来查看和保存测试结果添加了一个View Results in Table的listener9.6 保存测试用例9.7 运行测试用例10 创建一个W eb Service测试计划对于Web Service Sampler, 当前是使用Apache Soap driver. 需要activation.jar和mail.jar.由于license的限制, JMeter中并未包含这些jar文件.如果sampler显示从web service获得一个error. 需要同时检查SOAP的信息来确认格式是正确的. 特别的要确认xmlns的attributes要和WSDL完全一致. 如果xml的namespace不同, 那么web service将很可能返回一个错误. Xmethods中包括了一个公共service的列表.10.1 添加用户10.2 添加web service 请求10.3 添加listener用于查看和存储测试结果.10.4 保存测试计划10.5 运行测试计划11 创建JMS Point-to-Point测试计划需要如下jar文件的支持activation.jaractiveio-1.0-SNAPSHOT.jaractivemq-3.0.jaractivemq-core-3.0.jarcommons-logging-1.0.3.jarconcurrent-1.3.4.jargeronimo-spec-j2ee-jacc-1.0-rc4.jargeronimo-spec-j2ee-management-1.0-rc4.jargeronimo-spec-jms-1.1-rc4.jargeronimo-spec-jta-1.0.1B-rc4.jar。
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目录下即可。
jmatprov9.0使用手册
jmatprov9.0使用手册
JMatPro是一种用于热力学和热处理模拟的软件工具,它提供
了广泛的材料属性数据库和模拟功能。
在JMatPro 9.0使用手册中,通常会包括以下内容:
1. 安装和启动,手册会详细说明如何下载、安装和启动JMatPro 9.0软件。
这可能涉及到操作系统的兼容性、系统要求和
安装步骤等方面的信息。
2. 界面介绍,手册会对软件界面进行介绍,包括菜单栏、工具栏、属性栏等各个部分的功能和用法,帮助用户快速熟悉软件的操
作界面。
3. 基本功能,手册会介绍软件的基本功能,比如材料属性的查询、热力学模拟的建立与运行、结果分析和导出等操作。
4. 高级功能,针对有经验的用户,手册可能会介绍一些高级功能,比如定制化模拟设置、多种材料的复合模拟等内容。
5. 案例分析,一些使用手册会提供一些实际的案例分析,以帮
助用户更好地理解软件的使用方法和模拟过程。
6. 常见问题解答,手册中通常也会包含一些常见问题的解答,帮助用户在使用软件过程中遇到问题时能够及时解决。
总的来说,JMatPro 9.0使用手册应该是一本全面介绍软件功能和操作方法的指南,帮助用户快速上手并掌握软件的使用技巧。
希望这些信息能够对你有所帮助。
jmeter正则提取器用法引用
jmeter正则提取器用法引用在JMeter中,正则提取器是用于从响应数据中提取特定信息的元素。
它使用正则表达式来匹配并提取匹配的内容。
以下是使用正则提取器的步骤:1. 在你的测试计划中,选择一个需要提取信息的请求元素。
2. 在这个请求元素上右键点击,选择"添加 > 监听器 > 正则表达式提取器"。
3. 在正则表达式提取器的属性窗口中,配置以下属性:- "名称":给该提取器命名,可根据需要自定义。
- "正则表达式":输入用来匹配和提取内容的正则表达式。
- "模板":输入用于生成提取的内容的模板,可使用正则表达式的捕获组。
- "匹配号":指定匹配到的内容的顺序号,0表示匹配的整个表达式,1表示第一个捕获组,以此类推。
- "响应字段":选择从响应数据的哪个字段来提取内容,如"Body"、"Headers"等。
- "处理模式":选择处理多个匹配结果的方式,如"JMeter变量"、"输出变量"等。
4. 点击"添加"按钮,可以添加多个正则表达式提取器来提取不同的内容。
5. 运行你的测试计划,当匹配到的内容会被提取并存储在相应的变量中,可以在测试计划中的其他元素中引用这些变量。
可以使用`${变量名}`的形式来引用已提取的变量,如`${myVariable}`。
注意:使用正则表达式时要确保表达式的准确性和有效性,以及确保提取的内容符合你的预期。
可以使用JMeter的正则表达式测试工具来验证你的表达式是否正确。
此外,你还可以在正则表达式提取器中使用断言来验证提取到的内容是否符合期望。
JMeter2.6初步使用
JMeter2.6初步使⽤JMeter2.6性能测试⼯具使⽤1、使⽤前JDK配置(建议1.5以上)使⽤JMeter之前必须安装JDK,并且将JDK的环境变量配置好。
JDK环境变量的配置有JAVA_HOME、CLASSPATH、PATHXP:点击‘我的电脑’-》属性-》⾼级-》环境变量WIN7:点击‘计算机’-》属性-》⾼级系统设置-》环境变量以下配置都在,系统变量中!JAVA_HOME配置”E:\java\jdk1.6.0_23\”是JDK安装的路径CLASSPATH配置”.;%JAVA_HOME%\lib”其实就是指定的安装路径下的libPATH配置”%JAVA_HOME%\bin”建议放在最前⾯,避免和oracle的JDK冲突验证配置是否成功:点击“菜单”-》运⾏-》输⼊cmd 回车-》在DOS下输⼊Java或javac 或jar 2、J Meter录制(jmeter 2.6)下载地址:/doc/fb6030733.html运⾏JMeter\bin下的jmeter.bat如E:\测试⽂档\JMeter\apache-jmeter-2.6\apache-jmeter-2.6\bin jmeter.bat 界⾯2.1 添加线程组(点击测试计划右键)2.2添加HTTP代理服务(对⼯作台右键)不测记得去掉这个,不然可能连不了⽹了哦,嘎嘎!不测试记得把浏览器代理去掉,不然你不测试的时候连不了⽹哦2.3 设置代理后,修改浏览器的代理设置完毕,重启浏览器!就已经开始录制了!如果录制完成,将‘⼯作台’的HTTP代理服务,点击‘停⽌’!3、添加结果树(先保存录制的脚本)先保存录制的东西(重要)对你的测试任务,右键添加就好了!其实这⾥测试的⼤多东西都要⾃⼰添加!想观察什么添加什么!现在再启动录制的脚本3.1并发⼯作,查看结果⼀个简单的JMeter录制、结果查看就完成了其实⾥⾯还有很多的东西要⼤家去研究和发现,这只是⽪⽑⽽已,嘿嘿,我也在继续研究中有讨论的发我邮件:belialxing@/doc/fb6030733.html。
jmemter用法
jmemter用法
以下是使用JMeter的基本步骤:
1. 下载JMeter:从官网下载最新版本的JMeter,并解压缩到一个目录下。
2. 运行JMeter:进入JMeter的bin目录,双击运行(Windows)或(Linux)。
3. 创建测试计划:在JMeter中创建一个测试计划,这相当于一个测试用例。
4. 添加线程组:在测试计划中添加一个线程组,设置线程数和循环次数等参数。
5. 添加HTTP请求:在线程组下添加HTTP请求,设置请求方式、URL、参数、请求头等参数。
6. 运行测试:点击JMeter工具栏上的运行按钮,开始运行测试。
7. 查看结果:测试运行结束后,可以查看测试结果,包括响应时间、吞吐量、错误率等指标。
此外,除了上述基本操作外,JMeter还支持很多高级功能,比如断言、预
处理器、后处理器、定时器、监听器等,可以根据具体的测试需求进行配置和使用。
jmerter的用法
jmerter的用法JMerter是一个用于生成Markdown格式的思维导图代码的工具。
它可以帮助您将思维导图转换为Markdown格式,从而方便地将其嵌入到文档、笔记或网页中。
以下是JMerter的基本用法:1. 安装JMerter您可以通过下载JMerter的安装程序或使用包管理器来安装JMerter。
安装完成后,您可以在命令行或终端中运行JMerter。
2. 创建思维导图使用JMerter创建思维导图需要以下步骤:* 打开JMerter应用程序,选择“File”菜单中的“New”选项,创建一个新的思维导图。
* 在思维导图编辑器中,使用鼠标或键盘添加节点和子节点。
您可以使用不同的颜色、形状和样式来区分不同的节点。
* 在编辑器中,您还可以添加链接、图片和其他格式的元素。
3. 导出思维导图为Markdown格式在编辑完思维导图后,您可以使用JMerter将其导出为Markdown格式。
以下是导出步骤:* 选择“File”菜单中的“Export”选项。
* 在弹出的对话框中,选择“Markdown”作为导出格式。
* 指定导出文件的名称和位置,然后单击“Save”按钮。
4. 嵌入Markdown格式的思维导图到文档或网页中将Markdown格式的思维导图嵌入到文档或网页中非常简单。
以下是嵌入步骤:* 将导出的Markdown文件插入到您的文档或网页中。
* 您可以使用任何文本编辑器或集成开发环境来编辑Markdown文件。
如果您使用的是Markdown编辑器,它通常会提供一些格式化选项,如标题、列表、代码块等。
* 在文档或网页中,您可以使用HTML标签将Markdown转换为实际格式。
例如,使用<ul>和<li>标签将列表转换为无序列表。
JMerter是一个非常有用的工具,可以帮助您轻松地将思维导图转换为Markdown格式,并将其嵌入到文档、笔记或网页中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JMetter是什么?
JMetter不仅仅可以测试HTTP,HTTPs还能测试SOAP,FTP,数据库JDBC,JMS,SMTP,POP等等,更重要的一点,JMetter支持分布式测试。
下面我主要介绍如何使用JMetter来进行WebService性能测试
JMeter官方下载地址:
/download_jmeter.cgi
下载后解压:
JMetter启动界面:
JMetter里一个测试被称之为一个测试计划,在测试计划下首先需要new一个线程组,JMetter是用一个线程模拟一个客户端用户的,所以多个线程就相当于多个用户。
线程组添加方法如图:
在测试计划节点上右键,添加 线程组
然后再在线程组节点下添加测试样本,即告诉每个线程执行什么测试样本
线程组节点上右键,添加-->Sampler,
我们会看到JMetter提供了很多类型的测试样本,看名称就一目了然了,进行WebService性能测试需要添加SOAP/XML-RPC Request
我们需要着重关注上图标注的几个配置参数:
其中URL就是我们WSDL的URL路径,比如:
http://localhost:8080/myservice?wsdl
Use KeepAlive是HTTP1.1版本中新添加的请求头信息,它的作用就是当前后两个连续的HTTP 请求之间的时间间隔小于某个限定值的时候,HTTP服务器端就会为这两个请求共用一个HTTP连接,从而提高服务器性能,我们知道服务器建立TCP连接是很耗性能的。
最好是启用这个扩展功能,前提是你使用的HTTP1.1版本的协议。
SOAP/XML-RPC Data是SOAP消息体数据,这个数据需要我们借助TCPMon工具来获取,
至于TCPMon如何使用请查看《TCPMon监听SOAP消息》文档,
打开TCPMon工具进行一些监听配置
TCPMon监听添加完后,通过Eclipse启动我们的Server
客户端的xxxxImplService类里的8080端口号需要修改成TCPMon监听的555
然后我们通过Eclipse运行我们的Client端调用代码,这样TCPMon就能截获我们需要的SOAP消息啦,
即
<S:Envelope
xmlns:S="/soap/envelope/"><S:Body><ns2:queryStud entByName
xmlns:ns2="/"><arg0>STUDENT</arg0></ns2:queryStudentByN ame></S:Body></S:Envelope>
把它copy到JMEtter的SOAP/XML-RPC Data里,如图:
然后我们为测试样本添加监听器,这里的所谓监听器就是各种数据统计
在Sampler节点上右键,添加 监听器
这里提供了很多监听器,自己添加玩玩就知道了。
比如这样:
最后启动我们的测试计划,点击工具条里的这个按钮
点击启动后可能会提示你这个
意思是你还没有保存你的测试计划,点“是“
JMX其实就是一个XML文件
这里如果是个绿色标志,说明测试计划没有出现错误,所有测试样本全部执行成功,点击我们添加的监听器查看测试的统计结果
根据监听器生成的各种测试报告就可以大致分析出WebService的性能情况。
下面介绍如何使用JMetter进行WebService的分布式测试:
首先说下JMetter实现分布式测试的大致思路是:
首先有一台测试总控服务器,在总控服务器安装JMetter,并启动它,然后其他子服务器注册到主控服务器,然后主控服务器把测试计划(你也可以理解为测试任务)通过RMI(远程方法调用)传递给子服务器上安装的JMetter,然后主控服务器可以控制启动哪台子服务器上的JMetter并启动它执行测试计划。
这里的JMetter主控服务器是不干活的,是布置任务的角色。
下面说说具体的操作步骤:
首先需要在JMetter主控服务器的jmeter.properties配置文件中对各子服务器进行注册,
打开jmetter.properties配置文件
162行注释写的很清楚,comma delimited 逗号分隔,意思就是各个子服务器的IP用逗号分隔,164行注释介绍了带上端口号的配置方法,不加端口号默认就是80端口
然后你的其他子服务器都需要启动jmetter-server.bat,这样主控服务器才能跟jmetter.properties里注册的子服务器进行通信。
Jmetter-server启动后界面:
然后就是在你的主控服务器的JMetter里添加测试计划,添加线程组,添加测试
样本,添加监听器等等,上面已经介绍了。
最后远程启动子服务器上的JMetter,如图:
因为我没有多台子服务器,我在jmetter.properties的remote.hosts里只配置了一个我本机的ip,所以这里显示一个127.0.01机器,如果你jmetter.properties里注册了多个子服务器,那这里就会显示多个ip。
在我的这种一台机器的情况下,我的机器既充当了主控服务器的角色又充当了子服务器的角色。
点击127.0.0.1启动子服务器,当然你也可以选择下面的远程全部启动。
这样就可以远程控制我们的子服务器进行样本测试了。
OK,分布式测试就介绍完毕了!。