JMeter在Web Services性能测试中的应用

发表于:2008-4-25 13:05

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

分享:
        为了使测试结果更加可视化,向计划中添加Spline Visualizer,它紧靠着Graph Results。Spline Visualizer提供了关于所有样本次数的视图。它用分段插入功能绘制出一条连续的线,在绘制时跨越10个点,每个点代表10﹪的样本。在样条图表中用直线取代连接点,提供了基于多项式近似算法的平滑分布视图。结果如图7所示

rr

  

  图7:使用Spline Visualizer说明与图6相同测试结果的图表(单击图像查看完整尺寸的屏幕截图)

Multiple JMeters

  JMeter还具有一项十分有用的Remote Start功能,它允许用户从多台机器启动JMeter测试。客户端主机地址可以输入到位于bin文件夹下的“jmeter.properties”文件中。找到remote_hosts属性并在那里添加远程主机名称,使用逗号进行分隔。重新启动Jmeter,在Run菜单中单击Remote Start或Remote Start All。某些Web和应用程序服务器可连续处理同一个IP地址的多个请求以及并行处理不同IP地址的请求,因此,对于请求来自不同的机器或将测试负载分布到几个客户端显得十分关键的情况,可以使用该选项来执行操作。

其他功能

  前面已经提到,Jmeter包含HTTP、FTP和 LDAP取样器。创建这些请求是一项简单的任务,Jmeter用户手册中作了详细说明;它通常包括创建Thread Group、添加取样器、定时器和监听器。下面我们介绍一些有关这些标准取样器之外的、可能需要一些非标准配置步骤的功能。

脚本

  特别支持Java请求和BeanShell脚本的自定义测试和脚本是JMeter的另一个功能,它为负载测试开发人员提供了更大的灵活性。我们可以创建脚本化测试并将其作为一个Java类进行编译,然后将其传递给JMeter运行。为了使用BeanShell脚本功能,需要下载BeanShell jar并将其放置在/lib目录下面,以便JMeter在运行时可以选取它。用户可以使用Java取样器中的beanshell API,或者创建BeanShell取样器,由它读取文件中的脚本或处理文本框中所键入的命令。下面的代码样本说明了添加到HTTP取样器中的BeanShell断言。用户可以对基于HTTP请求的响应的测试执行过程进行分析和控制。一个好的方案应该创建具有线程组的测试计划,并在计划的时间循环启动负载测试。请求将点击Web服务器并获得其响应。

rrr

  响应可用添加到测试计划的BeanShell断言进行记录,它紧靠着HTTP取样器,如果Web服务器响应与某个条件相匹配,也就是说,如果成功或包含了预期的字符串,则脚本会停止测试或线程,否则将继续执行。

JMS应用程序

  为了使用JMeter对JMS应用程序进行负载测试,要下载ActiveMQ jar并将其复制到/lib目录。根据前面的测试,我们首先创建线程组,并添加JMS Point-to-Point样本。JMS Point-to-Point对话框需要填写下列参数:QueueConnection Factory、JNDI Name Request队列和JNDI Name Receive队列。例如,我们可以使用WebLogic示例服务器上安装的JMS模块中的参数;在这种情况下,它们为weblogic.examples.jms.QueueConnectionFactory和weblogic.examples.jms.exampleQueue。我们也可以创建自定义的JMS连接工厂和队列。对于WebLogic服务器,我们还需要添加 weblogic.jndi.WLInitialContextFactory作为初始Context Factory值和Provider URL,通常情况下,其形式为:t3://hostname:7001,例如:t3://localhost:7001。

自定义取样器

  许多测试人员迟早会面临下面这个问题:假如必须要创建测试计划,而JMeter没有提供必需的取样器或监听器。例如,用户需要测试Enterprise JavaBeans应用程序。用户仍然可以使用JMeter的Java Request,它实质上是Java类,可以向其添加需要的任何逻辑。我们创建一个样本Java取样器,它将向应用程序服务器发送请求并调用会话bean。首先,我们创建package mytest和称为JBTest.javaJava的Java类:

t
tt
tttt

54/5<12345>
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号