如何用jmeter测试本机上的软件

如何用jmeter测试本机上的软件,第1张

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信息


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12167371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存