安装JDK:JAVA的环境变量设置使用鼠标右击“我的电脑”-属性-高级-环境变量系统变量-新建-变量名:JAVA_HOME变量值:d:\jdk系统变量-编辑-变量名:Path在变量值的最前面加上:%JAVA_HOME%\bin;系统变量-新建-变量名:CLASSPATH变量值:.;安装TomcatCATALINA_HOME=d:\tomcatUserManual用户手册1介绍ApacheJMeter是100%纯JAVA桌面应用程序,被设计为用于测试CS结构的软件.同时也可以用来测试静态和动态资源的性能,例如:静态文件,JavaServlets,CGIScripts,JavaObject,数据库和FTP服务器等等.JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能.同时,JMeter可以帮助你对你的应用程序进行回归测试.通过你创建的测试脚本和assertions来验证你的程序返回了所期待的值.为了更高的适应性,JMeter允许你使用常规表达式来创建这些assertions.2开始2.1安装下载安装最新的版本,将会包含所有你需要建立和运行Web,FTP,JDBC和JNDI测试的文件.如果你想进行JDBC测试,你需要使用合适的JDBCdriver.JMeter中不包含JDBCdrivers.其他可能需要下载的软件:BeanShellJavaActivationFramework–neededforJavaMailJavaMail–neededformailvisualiserandSOAPtestJMS–forJMSsamplesGeneralJavaKit接下来一步,就是浏览”建立测试计划”一章来熟悉JMeter的基本操作,例如:添加和删除元素.最后,浏览适当的章节来学习如何建立不同种类的测试计划.例如,如果你对Web应用程序的测试比较感兴趣,就浏览”建立一个Web测试计划”章节.其他种类的测试计划建立的章节包括:JDBC,FTP和JNDI.一旦你熟悉了建立和运行JMeter测试计划,就可以开始熟悉各种配置参数,例如:timers,listeners,assertions和其他的参数,来帮助你更好地控制你地测试计划.2.2系统要求JMeter1.8以上的版本需要JDK1.4以上的版本支持运行.JMeter可以运行在如下操作系统上:Unix,Windows和OpenVMS.2.3可选项目如果你打算进行JMeter开发或者使用Sun的Java标准扩展包,你需要如下所列的可选包:2.3.1JavaCompiler需要1.4以上的JDK版本2.3.2SAXXMLParserJMeter默认使用Apache的XercesXMLparser.如果你想使用一个不同的XMLparser,将第三方的parser包放入JMeter的classpath中,然后使用设置的parser包的全名更新文件jmeter.properties2.3.3EmailSupportJMeter拥有有限的邮件功能来发送测试结果到指定邮箱中.应用邮箱功能,需要将Sun的JavaMail包放入JMeter的classpath中并激活.2.3.4SSLEncryption为使用HTTPS测试web服务器,JMeter需要设立SSL机制.将所需要的SSL类包放入JMeter的classpath中,更新jmeter.properties来注册SSLProvider.可以使用SSLManager用来管理这些证书.注意:在JDK1.4以上版本,SSL已经作为标准库加入.2.2.5JDBCDriver你需要将你的数据库供应商提供的JDBCdrivers添加到classpath中来进行JDBC测试.2.2.6ApacheSOAPApacheSOAP测试需要mail.jar和activation.jar.只需要将下载的两个jar文件复制到JMeter下的lib目录中,JMeter会自动的识别和使用它们.2.3运行运行JMeter,使用jmeter.bat(windows)或jmeter(UNIX).2.3.1JMeter的classpathJMeter自动在/lib和/lib/ext目录中的jar中的类.如果你想添加其他JAR文件到JMeter的classpath中,你必须复制他们到lib目录中.如果你开发了一个JMeter特定组件,生成jar包后复制到lib目录下的ext目录中.而且,你也可以将有效的jar文件安装到$JAVA_HOME/jre/lib/ext目录中.值得注意的是设置CLASSPATH环境变量没有任何作用.这是因为JMeter使用”java–jar”开始,java命令自动忽略CLASSPATH值,同时-jar选项的使用将屏蔽掉-classpath和-cp选项.2.3.2使用代理服务器如果你在防火墙或者代理服务器后进行测试,你需要给JMeter提供防火墙和代理服务器的hostname和port号.在命令行运行jmeter.bat或jmeter命令并使用如下参数:-H代理服务器的hostname或者IP地址-P代理服务器的port号-u代理服务器验证使用的用户名-a代理服务器验证使用的用户密码示例:jmeter–Hyahoo–P8080–utest–apassword2.3.3非GUI模式对于那些非交互的测试,你可以使用非GUI的模式运行JMeter.使用如下命令:-n指定的JMeter运行在non-GUI模式下-t包含测试计划的JMX文件的名称-l用于记录简单结果的JTL文件名称.-r运行所有的在jmeter.properties中指定的远程主机.(或在命令行中提供的覆盖属性提供的远程主机名.也可以同时提供防火墙或者代理服务器的信息-H服务器名或IP地址-P端口号示例:jmeter–n–tmy.jmx–llog.jtl–Hyahoo–P88002.3.4服务器模式为了对分布式测试,可以运行在服务器模式下,然后通过GUI来控制每个服务器.运行jmeter-server/jmeter-server.bat,附加下列可选项:-H代理服务器的hostname或IP地址-P端口号示例:jmeter-server–Hyahoo–P80002.3.5通过命令行来重载PropertiesJavasystemproperties,JMeterproperties和loggingproperties能够直接通过命令行来直接重载而不用修改jmeter.properties文件.使用以下参数项:-D[propname]=[value]定义一个javasystemproperty值-J[propname]=[value]重载一个JMeterproperty-L[category]=[priority]重载一个loggingsetting,设置一个指定的类别名给指定的优先级别-L标志位可以不指定category,将其设为root级别示例:jmeter–Duser.dir=/home/mstover/jmeter_stuff\-Jremote_hosts=127.0.0.1–Ljmeter.engine=DEBUGjmeter–LDEBUG注意:命令行输入的properties在启动时先处理,但是晚于loggingsystem的建立.所以尝试使用-J标志去更新log_level或者log_file的properties将没有任何效果.2.3.6Logging和error信息如果JMeter检查到一个错误,一个信息就被写道log文件中.Log文件的名字是在jmeter.properties文件中定义的.默认值位jmeter.log,在JMeter的开始目录中可以看到,例如bin目录中.除了记录错误信息,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-jmeter.engine.StandardJMeterEngine:Starting1threadsforgroupBSH.Rampup=1.10/17/200312:19:52PMINFO-jmeter.engine.StandardJMeterEngine:Continueonerror10/17/200312:19:52PMINFO-jmeter.threads.JMeterThread:ThreadBSH1-1started10/17/200312:19:52PMINFO-jmeter.threads.JMeterThread:ThreadBSH1-1isdone10/17/200312:19:52PMINFO-jmeter.engine.StandardJMeterEngine:TesthasendedLog文件有助于定位错误出现的原因,因为它并未打断测试来显示一个error窗口.2.4配置JMeter如果你想修改JMeter运行使用的properties,你可以通过两种方式:修改bin目录中的文件jmeter.properties或者创建你自己的properties文件使用命令行来指定该文件.ParametersAttributeDescriptionRequiredssl.provider你可以指定一个类支持SSL.如果你使用sun的JSSE,那么No是:com.sun.net.ssl.internal.ssl.Provider.JMeter默认的https支持在JDK1.4中包含.xml.parser你可以指定一个你自己的XMLparser.默认值为:org.apache.xerces.parsers.SAXParserNouser.dirJMeter用于保存和装载测试用例的目录.Noremote_hosts使用逗号分割的远程JMeter主机.如果你运行在分布式环境下,列出你拥有的运行的JMeter远程主机.允许你通过GUI去控制这些机器.Nonot_in_menu一个组件的列表,都是你不想在JMeter的菜单中看到的.由于JMeter添加了越来越多的组建,你可能希望自己定制你的JMeter来仅仅显示那些你感兴趣的组建.你可以列出他们类名或者类的标签(在JMeter界面中显示的字符串)在这里,他们将不会被显示.No3建立测试计划一个测试计划描述了一系列JMeter在运行中要执行的步骤.一个完整的测试计划包含一个或多个ThreadGroups,logiccontrollers,samplegeneratingcontrollers,listeners,timers,assertions和configurationelements.3.1添加删除Elements添加elements到测试计划,可以通过在tree中element上点击右键,然后从add列表中选择一个新的element.同样,elements也可以通过open选项从一个文件中载入.删除一个element,确定该element被选定,右击选择删除选项.3.2载入和存储elements载入文件中的elements,在已有的tree中点击右键,然后选择open选项.选择elements存储的文件,JMeter将载入文件中的所有elements到tree中.存储tree的elements,选择一个element然后右击,选择save选项.JMeter会存储选定的element,以及所有的子elements.这样你就可以