您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > JMeter中文使用手册
1.简介ApacheJMeter是100%纯java桌面应用程序,被设计用来测试C/S结构的软件(例如web应用程序)。它可以被用来测试包括基于静态和动态资源程序的性能,例如静态文件,JavaServlets,Java对象,数据库,FTP服务器等等。JMeter可以用来模拟一个在服务器、网络或者对象上大的负载来测试或者分析在不同的负载类型下的全面性能。另外,JMeter能够通过让你们用断言创造测试脚本来验证我们的应用程序是否返回了我们期望的结果,从而帮助我们回归测试我们的程序。为了最大的灵活性,JMeter允许我们使用正则表达式创建断言。1.1历史Apache软件组织的StefanoMazzocchi是JMeter的创始人。他写出它起初是为了测试ApacheJServ的性能(一个已经被ApacheTomcat工程所替代的工程)。我们重新设计JMeter来增强用户界面和增加功能测试的能力。1.2未来我们希望看到作为开发者利用它的可插入架构使JMeter的功能快速扩展。未来发展的主要目标是在没有危机JMeter的负载测试能力的情况下尽可能使JMeter成为最实用的回归测试工具。2.入门开始使用JMeter最容易的方法是首先下载最新版并且安装它。这个版本包含所有你在构建和运行Web,FTP,JDBC,和JNDI测试时使用的所有文件。如果你想执行JDBC测试,你当然需要从厂商得到适当的JDBC驱动。JMeter没有提供任何JDBC驱动。其它你可能需要下载的软件:BeanShellJavaActivationFramework-JavaMail需要JavaMail-mail显示andSOAP测试需要JMS-JMS取样器GeneralJavadownloadpage详细参见安装的jar包中的JMeterClasspath一章下一步,开始使用JMeter并且参见用户手册构建测试计划一章使自己更加熟悉JMeter基础(例如,添加和删除元素)。最后,参见如何构建一个明确类型的测试用例的适合章节。例如,如果你对Web应用测试感兴趣,那就参见构建一个Web测试计划。其它测试计划的细节是JDBC,FTP,andJNDI。一旦你熟练构建和执行JMeter测试计划,通过你的测试计划你会观察到给你更多帮助的各种元素的配置(定时器,监听器,断言,和其它)。2.1需求JMeter需要运行环境匹配的最小需求。2.1.1Java版本JMeter需要一个完整适当的JVM1.3或更高的版本.我们现在尽力与JVM1.3保持兼容,然而JMeter在1.4或者更高运行的会最好。因为JMeter仅使用Java标准API,请不要把因为JRE实现版本而无法运行JMeter的bug报告提交。Java1.3不包括SSL(HTTPS)支持-你将需要下载JSSE.同样,它不会像其它更高版本的Java那样好的运行。为了更好的结果使用Java1.4或者1.5。2.1.2操作系统JMeter是100%纯Java应用程序并且能够正确的在任何有适当的Java实现的操作系统上运行。JMeter在下列环境已经被测试:Unix(Solaris,Linux,等)Windows(98,NT,2000,xp)OpenVMSAlpha7.3+2.2可选如果你计划做JMeter开发或者想使用SUN的java标准扩展包,你将需要下列更多的可选包。2.2.1Java编译器如果你想编译JMeter源代码或者开发JMeter插件,你将需要一个完整的适当的JDK1.3或者更高。2.2.2SAXXML解析器JMeter使用Apache'sXercesXML解析器你可以选择告诉JMeter使用一个不同的XML解析器。这样做,把第三方的解析器的类包包含在JMeter的classpath中,并更新jmeter.properties文件里的解析器实现的全类名。2.2.3Email支持JMeter有有限的Email能力。它能够发送给你测试结果的email,并且支持POP/IMAP取样器。它现在不支持SMTP取样。为了能够支持Email,需要添加Sun的JavaMail包和activation包到JMeterclasspath。2.2.4SSL加密为了测试一个使用SSL加密(HPPS)的web服务器,JMeter需要一个提供SSL实现(例如Sun的JavaSecureSocketsExtension-JSSE)。包含需要的加密包到JMeter的classpath。同样,通过注册SSL提供者更新jmeter.properties。为了更好的管理证书,也要有一个SSL管理器。注意如果你在JDK1.4上运行,你将不需要下载JSSE,因为SUN已经集成它到JDK1.4中做为标准类库了。JMeter代理服务器(见下)不支持记录SSL(https)。2.2.5JDBC驱动你需要添加你的厂商的JDBC驱动到classpath,如果你需要JDBC测试.确认文件是一个jar文件,而不是zip。2.2.6ApacheSOAPApacheSOAP需要mail.jar和activation.jar.你需要下载并拷贝两个jar文件到你jmeter/lib目录.一旦文件放到那里,JMeter会自动找到它们。详细参见安装的jar包中的JMeterClasspath一章2.3安装快速安装JMeter。细节依赖你下载的发布文件。注意避免在一个有空格的路径安装JMeter。这将导致远程测试出现问题。2.3.1下载最新版本我们推荐大多数用户运行最新版本。要安装一个构建版本,简单解压zip/tar文件到你想安装JMeter的目录。保证一个JRE/JDK正确的安装并且设置环境变量JAVA_HOME,其它不需要做什么了。2.3.2下载夜晚构建如果你不介意使用beta版软件,你可以下载运行最新夜晚构建。要安装一个夜晚构建,解压_bin和_libzip/tar文件到相同的目录结构。保证一个JRE/JDK正确的安装并且设置环境变量JAVA_HOME,JMeter就可以正确的运行了。2.4运行JMeter要运行JMeter,运行jmeter.bat(forWindows)或者jmeter(forUnix)文件。JMeter必须从JMeter的bin目录(那些文件没有发现的地方)启动。如果jmeter.bat文件能够的话,它试图改变到一个适当的目录。2.4.1JMeterClasspathJMeter自动从在它的/lib和/lib/ext目录中的jar包发现类。如果你开发新的JMeter组件,你可以压缩它们成jar包并拷贝到JMeter的/lib/ext目录。JMeter将会自导发现在这里的任何jar包的JMeter组件。如果你不想把扩展jar包放到lib/ext目录,可以在jmeter.properties中定义search_paths属性。不要使用lib/ext给那些有用的jar包;它仅仅是存放JMeter组件。其它jar包(例如JDBC,和任何JMeter代码需要支持的类库)应该被代替放在lib目录。注意JMeter会发现.jar文件,而不是.zip文件。你可以在$JAVA_HOME/jre/lib/ext安装有用的jar文件,或者(自从2.1.1版本)你可以在jmeter.properties中设置user.classpath属性。注意设置CLASSPATH环境变量将不起作用。这是因为JMeter使用java--jar启动,并且java命令无记录忽略CLASSPATH变量,并且当使用-jar选项时-classpath/-cp选项也被使用。[所有的java程序都是这样,不仅仅是JMeter。]2.4.2使用代理服务器如果你在防火墙/代理服务器后测试,你需要提供给JMeter防火墙/代理服务器的主机名和端口号。这样做,从命令行使用以下参数运行jmeter.bat/jmeter文件:-H[代理服务器主机名或者ip地址]-P[代理服务器端口]-N[非代理主机](例如:*.apache.org|localhost)-u[代理证书用户名-如果需要]-a[代理证书密码-如果需要]例如:jmeter-Hmy.proxy.server-P8000-uusername-apassword-Nlocalhost或者,你使用--proxyHost,--proxyPort,--username,and--passwordJMeter也有自己的内建HTTP代理服务器,来记录HTTP(不是HTTPS)浏览器会话。这是和上面的代理设置描述不混淆的,它是在JMeter发出HTTP或者HTTPS请求时使用的。2.4.3非用户界面模式(命令行模式)为了不相互影响测试,你可以选择运行没有用户界面的JMeter。这样做,使用下列命令选项:-n这是指定JMeter在非用户界面模式运行-t[包含测试计划的JMX文件的名字]-l[记录取样结果的JTL文件的名字]-r运行在jmeter.properties文件里所有的远程服务器(或者通过在命令行覆盖属性指定远程服务器)这个脚本也允许我们指定可选的防火墙/代理服务器信息:-H[代理服务器主机名或者ip地址]-P[代理服务器端口]例如:jmeter-n-tmy_test.jmx-llog.jtl-Hmy.proxy.server-P80002.4.4服务器模式为了分布测试,在服务器模式运行JMeter,并且通过用户界面控制每一台服务器。jmeter-server/jmeter-server.bat脚本使用适当的classpath为你开始远程注册。如果失败,参见关于JMeter服务器启动细节。运行jmeter-server/jmeter-server.bat,加上下列选项命令:这个脚本也允许我们指定可选的防火墙/代理服务器信息:-H[代理服务器主机名或者ip地址]-P[代理服务器端口]例如:jmeter-server-Hmy.proxy.server-P80002.4.5通过命令行覆盖属性Java系统属性,JMeter属性,和日志属性可以通过命令行直接覆盖(代替更改jmeter.properties文件)。这样做,使用下列选项:-D[prop_name]=[value]-定义一个java系统属性值。-J[propname]=[value]-覆盖一个JMeter属性。-L[category]=[priority]-覆盖一个日志设置,设置一个特殊目录为给定的优先级。-L标志也可以使用没有目录名来设置根目录日志等级。例如:jmeter-Duser.dir=/home/mstover/jmeter_stuff\-Jremote_hosts=127.0.0.1-Ljmeter.engine=DEBUGjmeter-LDEBUG注意命令行参数在启动时较早被处理,但是在日志系统被设置以后。尝试使用-J标志更新log_level或者log_file属性无效。2.4.6日志和错误信息如果JMeter发现一个错误,一个消息将被写入日志文件。日志文件名在jmeter.properties文件中定义。一般定义为jmeter.log。并且在JMeter启动目录,例如bin。当在Windows下运行时,如果你不设置Windows显示文件扩展名,文件名会仅显示为JMeter。[你可以做一些事都很容易地发现伪装成文本文件的病毒和垃圾文件...]还有记录错误,jmeter.log文件记录一些测试运行信息。例如:10/17/200312:19:20PMINFO-jmeter.JMeter:Version1.9.2003100210/17/200312:19:45PMINFO-jmeter.gui.action.Load:Loadingfile:c:\mytestfiles\BSH.jmx10/17/200312:19:52PMINFO-jmeter.engine.StandardJMeterEngine:Runningthetest!10/17/200312:19:52PMINFO-jm
本文标题:JMeter中文使用手册
链接地址:https://www.777doc.com/doc-3291708 .html