1. 简介
Apache JMeter是100%纯java桌面应用程序,被设计用来测试C/S结构的软件(例如web应用程序)。它可以被用来测试包括基于静态和动态资源程序的性能,例如静态文件,Java Servlets,Java 对象,数据库,FTP 服务器等等。JMeter可以用来模拟一个在服务器、网络或者对象上大的负载来测试或者分析在不同的负载类型下的全面性能。正则匹配快代理
另外,JMeter能够通过让你们用断言创造测试脚本来验证我们的应用程序是否返回了我们期望的结果,从而帮助我们回归测试我们的程序。为了最大的灵活性,JMeter允许我们使用正则表达式创建断言。
1.1 历史
Apache软件组织的Stefano Mazzocchi是JMeter的创始人。他写出它起初是为了测试Apache JServ的性能(一个已经被Apache Tomcat工程所替代的工程)。我们重新设计JMeter来增强用户界面和增加功能测试的能力。
1.2 未来
我们希望看到作为开发者利用它的可插入架构使JMeter的功能快速扩展。未来发展的主要目标是在没有危机JMeter的负载测试能力的情况下尽可能使JMeter成为最实用的回归测试工具。
2. 入门
开始使用JMeter最容易的方法是首先下载最新版
- JavaMail需要
·Java Mail
从从
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包和activation包到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 会自动到它们。
要安装一个构建版本,简单解压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 [非代理主机] (例如: *.localhost)
-u [代理证书用户名- 如果需要]
-a [代理证书密码 - 如果需要]
例如 : jmeter -H my.proxy.server -P 8000 -u username -a password -N localhost
或者, 你使用 --proxyHost, --proxyPort, --username, and --password
这个脚本也允许我们指定可选的防火墙/代理服务器信息:
-H [代理服务器主机名或者ip地址]
-P [代理服务器端口]
例如 : jmeter -n -t my_test.jmx -l log.jtl -H my.proxy.server -P 8000 2.4.4 服务器模式
为了分布测试,在服务器模式运行JMeter,并且通过用户界面控制每一台服务器。
日志文件对发现错误原因很有帮助,作为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文件并且在命令行指定它。
运行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选项被处理之前。
system.properties  附加的系统属性文件名。 -S和-D选项被执行前被添加。No 又见 jmeter.properties 文件注释,在你改变其它设置时会给你更多的信息。
3. 创建一个测试计划
一个测试计划描述了一系列Jmeter运行时要执行的步骤。一个完整的测试计划包含一个或者多个线程组,逻辑控制,取样发生控制,,定时器,断言和配置元件。
3.1 添加和删除元件
在一个树上通过右击可以添加元件到一个测试计划,并且从"list"列表中选择一个新元件。或者,元件从文件加载并且通过选择"open"选项添加。
为了删除元件,确保元件被选中,正确在元件上右击,并且选择"remove"选项。
3.2 加载和保存元件
为了从文件加载元件,右击将要加载元件到的已经存在的树元件,并选择"open"选项。选择你的元件保存的文件。JMeter会加载元件到树中。
为了保存树元件,在一个元件上右击,选择"save"选项。JMeter会保存已选的元件,加上所有下面的子元件。用这种方法,你能够保存测试树段,单独元件,或者这个测试计划。
3.3 配置树元件
在测试树中的任何元件控制在JMeter的右手结构。那些控制允许你配置测试元件的细节行为,什么被配置为一个依赖元件类型的元件。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。