7. 创建一个数据库测试计划
在这一部分,你将学会如何去创建一个基础的测试计划来测试一个数据库服务器。你会创建10个用户来给数据库服务器发送2次SQL请求。同样,你也可以让用户运行他们的测试三次。这样总的JDBC请求数量就是(10用户)*(2次请求)*(重复3次)=60。要构建这个测试计划,你将会用到下面的元件:线程组,JDBC请求,图形结果。
这个例子使用了MySQL数据库驱动。要使用这个驱动,它所包涵的.jar文件必须复制到../lib/directory下(详情参见JMeter’s ClassPath)。另外我们期望在运行这个测试计划的时候的一个真实的栈数量跟踪。
7.1 添加用户
处理每个JMeter测试计划的第一步就是添加线程组元件。这个线程组会告诉JMeter你想要模拟的用户数量,用户应该发送请求的频率和应该发送的数量。下一步来添加一个线程组:首先选择这个测试计划,用鼠标右键点击然后在得到的菜单中选择”添加”–>”线程组”。这时你应该看到这个线程组已经在测试计划下面了,如果没有看到,就点击测试计划元件展开这个测试计划树。
6. 创建一个高级web测试计划
在这章,你将学到如何创建高级测试计划来测试web站点。
如果需要一个基础的测试计划例子,见 构建一个web测试计划 。
6.1 用URL重写处理用户会话
如果你的web应用程序使用URL重写优于cookies保存会话信息,那么为了测试你的站点你将需要做一点额外的工作。
为了响应正确到URL重写,JMeter需要解析从服务器接受的HTML和检索唯一的会话ID。利用适当的HTTP URL 重写修改器来完成这些。 简单地输入你的会话ID参数名到修改器,它会找到它并添加它到每一个请求。如果请求已经有一个值,它将会被替代。如果”缓存会话Id?”被选中,那么最后被发现的会话ID将被保存,并且如果HTTP的上次取样不包含一个会话ID它将会被使用。
URL 重写例子
下载 这个例子 。 在图1 展示了一个使用URL重写的测试计划。注意URL重写修改器附属于线程组,因此确定它对在那个线程组的每一个请求有效。
图 1 - 测试树
在图2中,我们看到了URL重写修改器的GUI,它仅仅有一个让用户指定会话ID参数名的文本域。 有一个复选框来指示会话ID将被化为为路径 (以”;”隔开),这样胜过使用一个请求参数。
图 2 - 请求参数
6.2 使用消息头管理
HTTP消息头管理让你定制JMeter在HTTP请求消息头发送的信息。这个消息头包括像”User-Agent”, “Pragma”, “Referer”等属性。
HTTP消息头管理好像HTTP Cookie管理 ,如果你因为一些原因你不希望在你的测试里为不同的HTTP 请求对象指定不同的消息头,可以添加到线程组等级。
5. 创建一个Web测试计划
在这一部分,你将学会如何创建一个基础的测试计划来测试一个Web站点,你将会创建5个用户向Jackrta网站上的两个网页发送请求。当然,你也可以让每个用户发送两次。这样,总的HTTP发送请求为(5个用户*2次请求*重复2次)=20。要创建这个测试计划,你将会用到下面的元件:线程组,HTTP请求,HTTP请求默认值和图形结果。
要创建更好的测试计划,可以参考创建一个高级web测试计划 。
3. 创建一个测试计划
一个测试计划描述了一系列Jmeter运行时要执行的步骤。一个完整的测试计划包含一个或者多个线程组,逻辑控制器,取样发生控制,监听器,定时器,断言和配置元件。
3.1 添加和删除元件
在一个树上通过右击可以添加元件到一个测试计划 ,并且从”添加”列表中选择一个新元件。另外,元件可以从文件加载并且通过选择”打开”选项添加。
为了删除元件,确保元件被选中,正确在元件上右击,并且选择”删除”选项。
2. 入门
开始使用JMeter最容易的方法是首先下载最新版并且安装它。这个版本包含所有你在构建和运行Web,FTP,JDBC,和JNDI测试时使用的所有文件。
如果你想执行JDBC测试,你当然需要从供应商得到适当的JDBC驱动。JMeter没有提供任何JDBC驱动。
其它你可能需要下载的软件:
BeanShell
Java Activation Framework - JavaMail需要
Java Mail - mail 显示 and SOAP 测试需要
JMS - JMS 取样器
General Java download page
详细参见JMeter Classpath 一章安装附加的jar包
下一步, 开始使用JMeter并且参见用户手册创建一个测试计划一章使自己更加熟悉JMeter基础 (例如,添加和删除元件)。
1. 简介
Apache JMeter是100%纯java桌面应用程序,被设计用来测试客户端/服务器结构的软件(例如web应用程序)。它可以用来测试包括基于静态和动态资源 程序的性能,例如静态文件,Java Servlets,Java 对象,数据库,FTP 服务器等等。JMeter可以用来在一个服务器、网络或者对象上模拟重负载来测试它的强度或者分析在不同的负载类型下的全面性能。
另外,JMeter能够通过让你们用断言创造测试脚本来验证我们的应用程序是否返回了我们期望的结果,从而帮助我们回归测试我们的程序。为了最大的灵活性,JMeter允许我们使用正则表达式创建断言。
1.1 历史
Apache软件组织的Stefano Mazzocchi是JMeter的创始人。他写出它起初是为了测试Apache JServ的性能(一个已经被Apache Tomcat工程所替代的工程)。我们重新设计JMeter来增强用户界面并增加功能测试的能力。
1.2 未来
我们希望看到作为开发者利用它的可插入架构使JMeter的功能快速扩展。未来发展的主要目标是在没有危及JMeter的负载测试能力的情况下尽可能使JMeter成为最实用的回归测试工具。
JMeter简介
Apache jmeter 是一个100%的纯java桌面应用,用于压力测试和性能测量。它最初被设计用于Web应用测试但后来扩展到其他测试领域。
Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络 或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。