1.打开Java编译器,新建一个项目"TestLength",然后新建一个包"app".2.从Jmeter的安装目录lib/ext中拷贝两个文件"ApacheJMeter_core.jar"和"ApacheJMeter_java.jar"到"Tester"的项目中,然后引入这两个JAR文件.(具体的引入
方法参考各个Java编译器的使用方法)3.在"app"包中新建一个类,名字叫"TestLength",不过这个类要继承"AbstractJavaSamplerClient"类,如果项目引入步骤二中的两个文件,就可以找到"AbstractJavaSamplerClient"类了.4."TestLength"类在继承"AbstractJavaSamplerClient"类的同时也会继承四个方法,分别是"getDefaultParameters","setupTest","runTest"和"teardownTest"方法."getDefaultParameters"方法主要用于设置传入的参数"setupTest"方法为初始化方法,用于初始化性能
测试时的每个线程."runTest"方法为性能测试时的线程运行体"teardownTest"方法为测试结束方法,用于结束性能测试中的每个线程.5.具体实现代码如下:packageappimportorg.apache.jmeter.config.Argumentsimportorg.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClientimportorg.apache.jmeter.protocol.java.sampler.JavaSamplerContextimportorg.apache.jmeter.samplers.SampleResultimportcom.passpod.core.t8.*/***@author乐以忘忧**TODOTochangethetemplateforthisgeneratedtypecommentgoto*Window-Preferences-Java-CodeStyle-CodeTemplates*/publicclassTestLengthextendsAbstractJavaSamplerClient{privateSampleResultresultsprivateStringtestStr//初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行,类似于LoadRunner中的init方法publicvoidsetupTest(JavaSamplerContextarg0){results=newSampleResult()testStr=arg0.getParameter("testString","")if(testStr!=null&&testStr.length()>0){results.setSamplerData(testStr)}}//设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中publicArgumentsgetDefaultParameters(){Argumentsparams=newArguments()params.addArgument("testStr","")//定义一个参数,显示到Jmeter的参数列表中,第一个参数为参数默认的显示名称,第二个参数为默认值returnparams}//测试执行的循环体,根据线程数和循环次数的不同可执行多次,类似于LoadRunner中的Action方法publicSampleResultrunTest(JavaSamplerContextarg0){intlen=0results.sampleStart()//定义一个事务,表示这是事务的起始点,类似于LoadRunner的lr.start_transactionlen=testStr.length()results.sampleEnd()//定义一个事务,表示这是事务的结束点,类似于LoadRunner的lr.end_transactionif(len<5){System.out.println(testStr)results.setSuccessful(false)//用于设置运行结果的成功或失败,如果是"false"则表示结果失败,否则则表示成功}elseresults.setSuccessful(true)returnresults}//结束方法,实际运行时每个线程仅执行一次,在测试方法运行结束后执行,类似于LoadRunner中的end方法publicvoidteardownTest(JavaSamplerContextarg0){}}6.把上面的例子打包,然后把生成的"TestLength.jar"文件拷贝到Jmeter的安装目录lib/ext下.7.运行Jmeter,添加一个线程组,然后在该线程组下面添加一个Java请求(在Sampler中),在Java请求的类名称中选择咱们刚创建的类"app.TestLength",在下面参数列表的"testStr"后面输入要测试的字符串,然后添加一个监听器(聚合报告),设置一下模拟的用户数就可以测试了.如果测试不成功,Jmeter会在它自己个输出框中抛出这个字符串.通过上面的例子我们可以发现,使用Jmeter自定义Java测试代码,配合Jmeter自带的函数,就可以实现出LoadRunner中"JavaVuser"协议的绝大多数功能,而且是没有用户数限制和完全免费的(嘿嘿).上面的例子非常简单,而且没有任何实际意义,只是一个简单的Jmeter测试代码示例,用于抛砖引玉,希望大家一起交流,共同进步.
在“服务器名称或ip”设置127.0.0.1,端口号设置:8080,“方法”设置post,路径设置网站登录的地址,如“/exam/operatorAction”。
登录需传入用户、密码。在“同请求一起发送参数”列表中添加参数。参数值根据web应用设置。如login_user=0001login_password=1actFlag=login。
一般网站登录后,在tomcat中生成了session,之后访问其他页面将无需再次登录,前提是浏览器需支持cookie。在jmap中也同样,如要继续访问其他页面,还需做下面关键的设置。
Apache JMeter
是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
JMeter负载测试是使用一个名为Apache JMeter的负载测试工具完成的测试过程,Apache JMeter是一个基于Java的开源桌面应用程序。它还有助于分析高负载下的整体服务器。
JMeter性能测试是使用Apache JMeter测试Web应用程序性能的测试方法。JMeter for Performance Testing有助于同时测试静态和动态资源,有助于发现并发用户JMeter性能测试,包括Web应用的负载测试和压力测试。
Apache JMeter测试工具在性能测试方面提供以下好处
JMeter性能测试包括:
下图显示了JMeter负载测试如何模拟重负载:
在本教程中,我们将对1000名用户进行baidu.com的性能分析 。在测试目标Web应用程序的性能之前,我们应该确定-
以下是这个实际示例的路线图
右键单击“测试计划”,添加一个新的线程组:Add->Thread(Users)->Thread Group
在线程组控制面板中,输入线程属性,如下所示:
线程计数和循环计数不同。
启动周期告诉JMeter在启动下一个用户之前要延迟多长时间。例如,如果我们有100个用户和100秒的启动周期,那么启动用户之间的延迟将是1秒(100秒/100个用户)
现在我们确定此测试中的JMeter元素。这些元素包括
可以通过右键单击Thread Group并选择:Add->Config Element->HTTP request Defaults来添加此元素。
在Http request Defaults控制面板中,输入正在测试的网站名称( http://www.google.com )
右键单击Thread Group并选择:Add->Sampler->HTTP Request。
在HTTP求控制面板中,路径字段指示要将哪个URL求发送到Google服务器。
例如,如果在路径字段中输入“日历”。JMeter将创建指向谷歌服务器的URL求 http://www.google.com/calendar
如果保留路径字段 空白 jeter将创建指向谷歌服务器的url求 http://www.google.com 。 在此测试中,将路径字段保留为空,以使JMeter创建到Google服务器的 http://www.google.com 请求。
JMeter可以将测试结果以Graph格式显示。 右键单击“测试计划”,选择“添加”->“侦听器”->“绘制结果图”
按工具栏上的Run(运行)按钮(Ctrl+R)开始软件测试过程。将看到测试结果实时显示在Graph上。 下图显示了一个测试计划的图表,其中我们模拟了访问 www.google.com 网站的100个用户。
在图片底部,有以下用颜色表示的统计数据:
让我们在下图中分析一下Google服务器的性能。
要分析被测Web服务器的性能,应该关注两个参数
吞吐量是最重要的参数。它表示吞吐量越高,服务器性能越好。 在本次测试中,Google服务器的吞吐量为1491.193/分钟。该值相当高,因此我们可以得出结论,Google服务器具有良好的性能 偏差用红色表示-它表示与平均值的偏差。越小越好。
让我们将Google服务器的性能与其他Web服务器进行比较。这是网站 http://www.yahoo.com/ 的性能测试结果(可以选择其他网站)
被测网站 http://www.yahoo.com 的吞吐量为867.326/分钟。这意味着该服务器每分钟处理867.326个求,低于谷歌。 偏差为2689,远高于谷歌(577) 。所以我们可以确定这个网站的性能低于谷歌服务器。
注意:上面的值取决于几个因素,比如Google当前的服务器负载,网速,CPU能力等等。所以不要惊慌!
如果在运行上述方案时遇到此问题.执行以下 *** 作
浏览网页: https://www.itxiaonv.com/ ,了解更多IT信息
评论列表(0条)