JMeter中文使用手册 第二章 入门

    技术2022-05-11  61

    2. 入门 开始使用JMeter最容易的方法是首先下载最新版的产品并且安装它。这个版本包含所有你在构建和运行Web,FTP,JDBC,andJNDI测试时使用的所有文件。 如果你想执行JDBC测试,你当然需要从厂商得到适当的JDBC驱动了。JMeter没有提供任何JDBC驱动。 其它你可能需要下载的软件: ·   BeanShell ·   Java Activation Framework - JavaMail 需要 ·   Java Mail - mail 显示 and SOAP 测试需要 ·   JMS – JMS 取样器 ·   General Java download page 详细参见安装的jar包中的 jmeter Classpath 一章 下一步, 开始使用JMeter并且参见用户手册构建测试计划一章使自己更加熟悉JMeter基础 (例如,添加和删除元素)。 最后, 参见如何构建一个明确类型的测试用例的适合章节。例如,如果你对Web应用测试感兴趣,那就参见构建一个Web测试计划。其他测试计划的细节是JDBC 。 , FTP , and JNDI 一旦你熟练构建和执行JMeter测试计划, 通过你的测试计划你会观察到给你更多帮助的各种元素的配置(定时器, 监听器, 断言, 和其他)。     2.1 需求 jmeter 需要你的运行环境匹配的最小需求。 2.1.1 Java 版本 jmeter 需要一个完全适合JVM 1.3或更高的版本. 我们现在尽力与JVM 1.3保持兼容,然而JMeter 在1.4或者更高运行的会最好. 因为JMeter 仅使用Java标准API, 请不要把因为JRE实现版本而无法运行JMeter的bug报告提交。 Java 1.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) ·   OpenVMS Alpha 7.3+       2.2 可选 如果你计划做JMeter开发或者想使用SUN的java标准扩展包,你将需要下列更多的可选包。 2.2.1 Java 编译器 如果你想编译JMeter源代码或者开发JMeter插件,你将需要一个完整的适当的JDK1.3或者更高。     2.2.2 SAX XML解析器 jmeter 使用 Apache's Xerces XML 解析器你可以选择告诉JMeter使用一个不同的XML 解析器. 这样做,把第三方的解析器的类包包含在JMeter的classpath 中, 并更新 jmeter.properties 文件里的解析器实现的全类名. .     2.2.3 Email 支持 jmeter 有有限的 Email 能力。 它能够发送给你测试结果的email,并且支持POP/IMAP 取样器。它现在不支持 SMTP 取样。 为了能够支持 Email, 需要添加Sun 的JavaMail包和激活到JMeter classpath     2.2.4 SSL 加密 为了测试一个使用SSL加密(HPPS)的web服务器, jmeter 需要一个提供SSL实现 (例如 Sun的 Java Secure Sockets Extension -- JSSE 包含需要的加密包到JMeter的 classpath 。 同样,通过注册SSL提供者更新 jmeter.properties 。 ). 为了更好的管理证书,也要有一个 SSL 管理器 注释: 如果你在JDK1.4上运行,你将不需要下载JSSE,因为SUN已经集成它到JDK1.4中做为标准类库了。 jmeter 代理服务器(见下) 不支持记录 SSL (https).     2.2.5 JDBC 驱动 你需要添加你的厂商的JDBC驱动到classpath ,如果你需要JDBC测试.确认文件是一个jar文件,而不是zip。     2.2.6 Apache SOAP Apache SOAP 需要 mail.jar 和 activation.jar. 你需要下载并拷贝两个jar文件到你jmeter/lib 目录.一旦文件放到那里,JMeter 会自动找到它们。     详细参见安装的jar包中的 jmeter Classpath 一章     2.3 安装 快速安装JMeter。细节依赖你下载的发布文件。 注释:避免在一个有空格的路径安装 jmeter。这将导致远程测试出现问题。 2.3.1 下载最新版本 我们推荐大多数用户运行最新版本 要安装一个版本构建,简单的解压zip/tar 文件到你想安装JMeter的目录。保证一个JRE/JDK正确的安装并且设置环境变量JAVA_HOME,其它不需要做什么了。     2.3.2 下载夜晚构建 如果你不介意使用beta版软件,你可以下载运行最新夜晚构建 要安装一个夜晚构建,解压_bin和_lib zip/tar文件到相同的目录结构。保证一个JRE/JDK正确的安装并且设置环境变量JAVA_HOME, jmeter 就可以正确的运行了。       2.4 运行 jmeter   要运行JMeter, 运行 jmeter.bat (for Windows) 或者 jmeter (for Unix) 文件。 jmeter 必须从 jmeter 的bin 目录 (那些文件没有发现的地方)启动。如果它能够的话jmeter.bat文件试图改变到一个适当的目录。 2.4.1 jmeter Classpath jmeter 自动从在它的/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 -H my.proxy.server -P 8000 -u username -a password -N localhost 或者, 你使用 --proxyHost, --proxyPort, --username, and --password jmeter 也有自己的内建 HTTP代理服务器,来记录HTTP (不是 HTTPS)浏览器会话。这是和上面的代理设置描述不混淆的,它是在JMeter发出HTTP或者HTTPS请求时使用的。     2.4.3 非用户界面模式 (命令行模式) 为了不相互影响测试, 你可以选择运行没有用户界面的JMeter。这样做,使用下列命令选项: -n 这是指定 jmeter 在非用户界面模式运行 -t [ 包含测试计划的JMX文件的名字]. -l [ 记录取样结果的JTL文件的名字]. -r 运行在jmeter.properties文件里所有的远程服务器 (或者通过在命令行覆盖属性指定远程服务器) 这个脚本也允许我们指定可选的防火墙/代理服务器信息: -H [ 代理服务器主机名或者ip地址] -P [代理服务器端口] 例如 : jmeter -n -t my_test.jmx -l log.jtl -H my.proxy.server -P 8000     2.4.4 服务器模式   为了 分布测试 ,在服务器模式运行JMeter。并且通过用户界面控制每一台服务器。 jmeter-server/jmeter-server.bat 脚本使用适当的classpath为你开始远程注册。如果失败,参见关于jmeter服务器启动细节 运行jmeter-server/jmeter-server.bat,加上下列选项命令: 这个脚本也允许我们指定可选的防火墙/代理服务器信息: -H [ 代理服务器主机名或者ip地址] -P [代理服务器端口] 例如 : jmeter-server -H my.proxy.server -P 8000     2.4.5 通过命令行覆盖属性 Java 系统属性,JMeter属性,和日志属性可以通过命令行直接覆盖(代替更改jmeter.properties文件)。这样做,使用下列选项: -D[prop_name]=[value] – 定义一个java系统属性值。 -J[prop name]=[value] – 覆盖一个JMeter属性。 -L[category]=[priority] – 覆盖一个日志设置,设置一个特殊目录为给定的优先级。 -L 标志也可以使用没有目录名来设置根目录日志等级。 例如 :                                                              jmeter -Duser.dir=/home/mstover/jmeter_stuff /     -Jremote_hosts=127.0.0.1 -Ljmeter.engine=DEBUG   jmeter -LDEBUG                                               注意命令行参数在启动时较早被处理,但是在日志系统被设置以后。尝试使用-J标志更新log_level或者log_file属性无效。     2.4.6日志和错误信息 如果JMeter发现一个错误, 一个消息将被写入日志文件。日志文件名在jmeter.properties文件中定义。一般定义为 jmeter.log 。并且在JMeter启动目录,例如bin。 当在Windows下运行时,如果你不设置Windows显示文件扩展名,文件名会仅显示为 jmeter。[你做任何事都很容易的发现伪装成文本文件的病毒和垃圾文件...] 还有记录错误,jmeter.log 文件记录一些测试运行信息。例如:                                                              10/17/2003 12:19:20 PM INFO - jmeter.JMeter: Version 1.9.20031002 10/17/2003 12:19:45 PM INFO - jmeter.gui.action.Load: Loading file: c:/mytestfiles/BSH.jmx 10/17/2003 12:19:52 PM INFO - jmeter.engine.StandardJMeterEngine: Running the test! 10/17/2003 12:19:52 PM INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group BSH. Ramp up = 1. 10/17/2003 12:19:52 PM INFO - jmeter.engine.StandardJMeterEngine: Continue on error 10/17/2003 12:19:52 PM INFO - jmeter.threads.JMeterThread: Thread BSH1-1 started 10/17/2003 12:19:52 PM INFO - jmeter.threads.JMeterThread: Thread BSH1-1 is done 10/17/2003 12:19:52 PM INFO - jmeter.engine.StandardJMeterEngine: Test has ended                                                   日志文件对发现错误原因很有帮助,作为JMeter不会打断一个测试来显示一个错误对话框。     2.4.7 命令行选项目录 调用JMeter的 “jmeter -?”命令将打印所有命令选项的一个列表。列表如下:                                                                      -h, --help                 打印使用信息并退出         -v, --version                 打印版本信息并推出         -p, --propfile {argument}                 使用的JMeter属性文件         -q, --addprop {argument}                 附加的属性文件         -t, --testfile {argument}                 运行的jmeter测试文件(.jmx)         -l, --logfile {argument}                 日志取样文件         -n, --nongui                 非用户界面运行JMeter         -s, --server                 运行JMeter服务器         -H, --proxyHost {argument}                  设置JMeter使用的代理服务器         -P, --proxyPort {argument}                 设置JMeter使用的代理服务器端口         -u, --username {argument}                 设置JMeter使用的代理服务器用户名         -a, --password {argument}                 设置JMeter使用的代理服务器密码         -J, --jmeterproperty {argument}={value}                 定义附加的 jmeter 属性         -D, --systemproperty {argument}={value}                 定义附加的 System 属性         -S, --systemPropertyFile {filename}                 一个属性文件被做为系统属性添加         -L, --loglevel {argument}={value}                  定义日志等级: [category=]level                 例如 jorphan=INFO or jmeter.util=DEBUG         -r, --runremote                 从非用户界面模式启动远程服务器         -d, --homedir {argument}                 使用的JMeter目录                                                       2.5 配置 jmeter 如果你希望改变JMeter运行时的属性你需要改变在/bin目录的jmeter.properties文件,或者创建你自己的jmeter.properties文件并且在命令行指定它。 注释: 自从 2.1.2,你能够通过JMeter属性user.properties在文件中定义附加的JMeter属性,user.properties默认值是user.properties。如果在当前目录被发现,这个文件被自动加载。类似的,system.properties 被用来更新系统属性。 参数 属性 描述 需要 ssl.provider 你可以为你的SSL实现指定类。如果你想使用来自sun的JSSE,是这样:com.sun.net.ssl.internal.ssl.Provider. JMeter默认提供https支持是在你使用 JDK1.4或者你使用把JSSE类的jar包放到JMeter classpath中的JDK1.3时候。 No xml.parser 你可以指明一个你的XML解析器实现。 默认值是:org.apache.xerces.parsers.SAXParser No remote_hosts 逗号分割远程JMeter主机列表。如果你在一个分布式环境运行JMeter,列出你用JMeter远程主机运行的机器。这允许你使用机器的用户界面控制那些服务器。 No not_in_menu 在JMeter选项屏中你不想看到的组件列表。 如果JMeter被添加越来越多的组件,你会希望定制JMeter只出现那些你感兴趣的组件。你可以在这儿列出那些类名和他们的类标签(JMeter的用户界面出现的字符串), 它们将在选项屏中不出现。 No search_paths 列出那些JMeter搜索JMeter附加类的路径(以;分割);例如增加的取样器。被添加到lib/ext目录的任何jar包都被发现。 No user.classpath jmeter 搜索的有用类库的路径列表。被添加到lib目录的任何jar包都被发现。 No user.properties 附加的JMeter属性文件名。 初始化属性文件后它们被添加,但是在-q和-J选项被处理之前。 No system.properties 附加的系统属性文件名。 -S和-D选项被执行前被添加。 No 又见 jmeter.properties 文件注释,在你改变其它设置时会给你更多的信息。

     

    原文地址:http://jakarta.apache.org/jmeter/usermanual/get-started.html


    最新回复(0)