资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
jmeter并发java接口测试jmeter并发测试java接口 Jmeter是一款性能测试工具。个人认为与其说他是一个工具,不如说他是一个框架。因为JMeter的支持范围非常广,目前常见的需要进行性能测试的应用几乎都能应用。JMeter的一大好处就是它内部已经有实现好的线程机制,用户不用写任何关于并发的东西,只需做简单配置即可。同时他页提供了一些类似插件的东西,用于线程运行时的控制;其次,JMeter对测试结果能都产生相应的统计报表,简单、直观,对一般性能测试应该足够。 1. 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下。 2. 主要插件 线程组为JMeter的主要插件,其内部实现好了多现在,用户只要添加、配置即可。 以下为线程组的配置界面: 如同所示,可以配置线程数,前一个线程与后一个线程启动间隔,以及线程的循环次数。 配置元件为所有JMeter可以使用的应用,JMeter提供了一些基础配置。如图: 监听器为测试过程中收集数据的。而且可以根据数据生成相应的报表 逻辑控制器用于对线程的运行逻辑进行控制. 3. Sample 这里我用到主要JMeter的线程和报表,扩展了他的“Java请求”这个应用类别。要扩展此应用,要用到lib/ext/ApacheJMeter_java.jar,他封装此应用。 首先,需要继承ApacheJMeter_java.jar中的抽象类AbstractJavaSamplerClient,它提供了四个抽象方法: void setupTest(JavaSamplerContext arg0),SampleResultrunTest(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; importorg.apache.jmeter.protocol.java.sampler.JavaSamplerContext; import org.apache.jmeter.samplers.SampleResult; importcom.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 SampleResultrunTest(JavaSamplerContext arg0) name = arg0.getParameter(name); address = arg0.getParameter(address); SampleResultsr; 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。界面打开后,右键“测试计划”,添加线程组;右键“线程组”添加SamplerJava请求,在类名称处选择刚才写好的类。 如图: 这里,可以同时添加多个线程组、多个java请求、同时可以添加监听器用于输出不同的的测试结果图形、报表,各个请求之间可以用逻辑控制器进行执行流程的控制。如图: 最后,点击运行启动,保存相应的项目,即可开始运行。运行时的数据,可以通过监听器写入文件以便需要时生成报表。 4. ant使用 在运行JMeter项目前,会让用户保存项目,保存为.jmx文件,把此文件放到extras目录下,即可使用ant实现测试的自动化。ant有以下几个命令: ant -Dtest=项目名称 运行项目并生成报表。 ant -Dtest=项目名称 run 只运行项目。 ant -Dtest=项目名称 report 只生成报表 报表如下:
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号