JMeter是一款性能测试工具。个人认为与其说他是一个工具,不如说他是一个框架。因为JMeter的支持范围非常广,目前常见的需要进行性能测试的应用几乎都能应用(如:files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers)。JMeter的一大好处就是它内部已经有实现好的线程机制,用户不用写任何关于并发的东西,只需做简单配置即可。同时他页提供了一些类似插件的东西,用于线程运行时的控制;其次,JMeter对测试结果能都产生相应的统计报表,简单、直观,对一般性能测试应该足够。
- QuickStart
下载下来的JMeter有以下几个目录 bin docs extras lib printable_docs。bin 自不用说了,运行下面的jmeter.bat就可以看见JMeter的GUI客户端了,可以对测试进行所有的配置。docs下面的是JMeter的所有用户手册,还算详细,一般需要的都能查到。可惜没有中文的,英文需要多花点时间。extras下为JMeter对Ant的一些支持。太具体的不是很清楚,不过生产报表这部分必不可少。运行测试时,可以把测试的所有数据记录下来,JMeter自动生成一个.jtl的文件。把此文件放到extras下,运行 ant -Dtest=文件名 report,即可生成测试统计报表。lib目录下还有两个目录,一个是ext,此目录存放用户对JMeter进行扩展的测试应用,一个是junit目录,此目录没用到,不是很清楚。安装文档中的说法,ext目录存放对JMeter的扩展,用户的扩展所依赖的包则要直接放在lib下(不是lib/ext 下)。
- 主要插件
线程组为JMeter的主要插件,其内部实现好了多现在,用户只要添加、配置即可。
以下为线程组的配置界面:
如同所示,可以配置线程数,前一个线程与后一个线程启动间隔,以及线程的循环次数。
配置元件为所有JMeter可以使用的应用,JMeter提供了一些基础配置。如图:
监听器为测试过程中收集数据的。而且可以根据数据生成相应的报表(文字、图形等)
逻辑控制器用于对线程的运行逻辑进行控制.
- Sample
这里我用到主要JMeter的线程和报表,扩展了他的“Java请求”这个应用类别。要扩展此应用,要用到lib/ext/ApacheJMeter_java.jar,他封装此应用。
首先,需要继承ApacheJMeter_java.jar中的抽象类AbstractJavaSamplerClient,它提供了四个抽象方法: void setupTest(JavaSamplerContext arg0),SampleResult runTest(JavaSamplerContext arg0), void teardownTest(JavaSamplerContext arg0), Arguments getDefaultParameters()。setupTest和teardownTest与JUnit中的类似,分别在测试的开始和结束时执行。 runTest为主要测试方法,所有测试程序都在这里完成,JavaSamplerContext参数封装测试中需要的所有外界数据(如配置信息等)。其 SampleResult封装了所有测试结果(如:测试是否成功?程序执行时间等),getDefaultParameters用于把测试的一些默认数据在程序运行前显示到JMeter客户端,这个可以和runTest配合使用,实现数据的呈现和配置。
下面为程序:
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult; import com.ebupt.wv.client.WVClient;
public class Login2 extends AbstractJavaSamplerClient {
private static String label = "userLogin"
private String name;
private String address;
public void setupTest(JavaSamplerContext arg0) {
System.out.println("setupTest");
}
public SampleResult runTest(JavaSamplerContext arg0) {
name = arg0.getParameter("name");
address = arg0.getParameter("address");
SampleResult sr;
sr = new SampleResult();
sr.setSampleLabel(label);
try{
sr.sampleStart(); //记录程序执行时间,以及执行结果
sr.setSuccessful(true);
System.out.println("send over!");
}catch(Throwable e){
sr.setSuccessful(false);
}finally{
sr.sampleEnd();
}
return sr;
}
public void teardownTest(JavaSamplerContext arg0) {
}
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("name", "JMeter");
params.addArgument("address", "localhost");
return params;
}
}
其次,把写好的应用打包,放到lib/ext下,JMeter运行时即可找到。同时还要把用户自己编写的应用所依赖的包放在lib下。运行JMeter。界面打开后,右键“测试计划”,添加线程组;右键“线程组”-添加-Sampler-Java请求,在类名称处选择刚才写好的类。
如图:
这里,可以同时添加多个线程组、多个java请求、同时可以添加监听器用于输出不同的的测试结果图形、报表,各个请求之间可以用逻辑控制器进行执行流程的控制。如图:
最后,点击运行-启动,保存相应的项目,即可开始运行。运行时的数据,可以通过监听器写入文件以便需要时生成报表。
- ant使用
在运行JMeter项目前,会让用户保存项目,保存为.jmx文件,把此文件放到extras目录下,即可使用ant实现测试的自动化。ant有以下几个命令:
ant -Dtest=项目名称 运行项目并生成报表。
ant -Dtest=项目名称 run 只运行项目。
ant -Dtest=项目名称 report 只生成报表(这个需要把测试时记录下来的.jtl文件放到ant目录下)
报表如下:
分享到:
相关推荐
Jmeter使用手记Jmeter使用手记Jmeter使用手记Jmeter使用手记
Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter
JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册...
将 jpgc-graphs-basic-2.0.zip 解压缩后只有一个 lib 目录,该目录下有一个 ext 文件夹和一个 jmeter-plugins-cmn-jmeter-0.3.jar 包,ext 文件夹中有 jmeter-plugins-graphs-basic-2.0.jar 和 jmeter-plugins-...
Jmeter是基于Jave的,开放源代码的测试工具 Jmeter 可以用于测试静态或者动态资源的性能(文件、 SOAP 、 Web、Perl脚本、java对象、数据库和查询、ftp服务器或者其他 的资源) Jmeter 用于模拟在服务器、网络...
Apache jmeter jmeter-plugins-cmn-jmeter-0.6.jar 下载
jmeter, Apache JMeter镜像 是什么?Apache JMeter是一个 100%纯Java应用程序,旨在测试和测量性能。 它可以作为一个高度可移植的服务器基准以及多客户机负载生成器。Apache JMeter功能包括:能够加载和性能测试
JMeter导入jmx运行脚本时出现这样的错误jmeter.save.SaveService: Conversion error ...---- Debugging information ---- message : kg.apc.jmeter.vizualizers.CorrectedResultCollector ...cause-message : kg.apc....
jmeter安装包
Jmeter怎么录制,怎么过滤,线程组有哪些内容? jmeter可以使用第三方的录制工具(badboy)或者使用自身的软件的录制功能进行,jmeter录制原理:是通过代理http服务器抓取用户操作网站过程中的链接。 jmeter可以在...
jmeter插件助手 jmeter-plugins-manager
jmeter5.5可用
JMeter教程文档PDF,JMeter,Apache JMeter,测试,自动化测试,开源免费,jmeter。。。。
拷贝jmeter-parallel-0.9.jar到Jmeter/lib/ext上。 启动Jmeter。 根据需要添加Parallel Controller: 1)在Jmeter的线程组下面的逻辑控制器,选择bzm并行控制器; 2)把浏览器或者wireShark观察到的同一批次的并发...
Apache JMeter (apache-jmeter-5.5.tgz)可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。 Apache JMeter...
Apache JMeter (apache-jmeter-5.5.zip)可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。 Apache JMeter...
jmeter的详细使用,JMeter 自动从在它的/lib 和 /lib/ext 目录中的 jar 包发现类。如果你开发新的 JMeter 组件,你可以压 缩它们成jar包并拷贝到 JMeter 的 /lib/ext 目录。JMeter 将会自导发现在这里的任何jar包的...
apache-jmeter-5.4.3,接口压测工具jmeter Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试
│ jmeter课件资料.zip │ SpringBoot资料tb.zip ├ 第10章 高级篇之Jmeter压测课程总结和架构浅析 │ └ 35、课程总结和关于系统架构,推荐学习资料.mp4 ├ 第1章 章节一JMeter压力测试课程介绍 │ │ 1、亿级流量...
jmeter使用ocrserver工具自动识别验证码配置