Jmeter 创建一个web测试计划

Jmeter 创建一个web测试计划

by:授客 QQ1033553122

1.   下载Jmeter

下载地址:http://jmeter.apache.org/download_jmeter.cgi

下载后解压到你想“安装”的路径下,比如:

D:\Program Files (x86)\Jemter\apache-jmeter-2.11

 

2.   配置环境变量

新建JMETER_HOME系统环境变量,值设置为Jmeter所在的路径,

D:\Program Files (x86)\Jemter\apache-jmeter-2.11

Jmeter 创建一个web测试计划

 

 

Jmeter 创建一个web测试计划

 

注意:JMeter JVM兼容版本为JVM6或更高版本

 

3.   运行Jemeter

双击bin目录下的jmeter.bat,打开界面

 

4.   创建测试计划

测试计划描述了Jmeter运行时会执行的一系列步骤

创建web 测试计划

Jmeter 创建一个web测试计划Jmeter 创建一个web测试计划

 


 步骤1:添加用户

添加一个线程组(Thread Group)元素,线程组元素告诉Jmeter你想模拟的用户数量,用户发送请求频率及发送请求数。

右键测试计划,添加线程组(Add --> ThreadGroup)

Jmeter 创建一个web测试计划

 


 

Jmeter 创建一个web测试计划
 

添加线程组后

 Jmeter 创建一个web测试计划

 



说明:

线程数(Number of Threads(users)):也就是要模拟的用户数

 

Ramp-Up Period(in seconds):告诉Jmeter开启每个用户之间的时间间隔。如果我们有5个用户,并设置Ramp-Up Period(in seconds)为5秒,那么开启每个用户的时间间隔为1秒(5 users / 5 seconds = 1 user per second)。如果你设置为0,那么Jmeter将立即开启所有用户(线程)。

 

循环次数(Loop Count):告诉Jmeter重复运行多少次测试。如果选择永远(Forever),那么将一直重复运行。

 

设置后

Jmeter 创建一个web测试计划Jmeter 创建一个web测试计划

 

 

备注:Jmeter的设置是即时保存的

 

步骤2:添加默认的HTTP请求属性

定义用户将要执行的任务(这里可采用默认设置)

右键线程组,添加默认的HTTP请求默认值(Add --> Config Element --> HTTP Request Defaults)

 Jmeter 创建一个web测试计划

 

Jmeter 创建一个web测试计划

 


Jmeter 创建一个web测试计划

 

Jmeter 创建一个web测试计划

 

服务器名称或(Server Name Or IP). 对于你创建的测试计划来说,所有http请求将发送到该服务器。

 

例中,测试仅填写域名,jmeter.apache.org,如下,其它保留默认值

Jmeter 创建一个web测试计划Jmeter 创建一个web测试计划

 


 

步骤3:添加Cookie支持

几乎所有的web测试都应该使用cookie支持,除非应用程序特地指明了不使用cookie。仅需添加一个HTTP Cookie管理器(HTTP Cookie Manager)来添加cookie支持。这将保证每个线程可以获得自己的cookie,但是cookie为所有HTTP请求对象共享。

 

右键线程组,添加HTTP Cookie Manager(Add --> Config Element --> HTTP Cookie Manager)

  Jmeter 创建一个web测试计划Jmeter 创建一个web测试计划

Jmeter 创建一个web测试计划

 


Jmeter 创建一个web测试计划
 

步骤4:添加HTTP请求

右键线程组,添加http请求(Add --> Sampler --> HTTP Request)

Jmeter 创建一个web测试计划Jmeter 创建一个web测试计划

 


 

例中,添加2个http请求。第一个:Jmeter主页(http://jmeter.apache.org/), 第二个:Changes页面(http://jmeter.apache.org/changes.html).

Jmeter按它们出现在左侧树中的顺序发送请求。

设置路径(Path): /

记住:没必要再设置服务器名(Server Name),你已经在HTTP Request Defaults元素中设置了该值。 

Jmeter 创建一个web测试计划Jmeter 创建一个web测试计划

 


 

添加第二个请求

Jmeter 创建一个web测试计划Jmeter 创建一个web测试计划

 


步骤5:添加一个监听器来查看保存的测试结果

监听器是你最后需要添加一个元素.该元素负责将所有HTTP请求结果存储在一个文件中并且以可展示视化数据模型.

右键线程组,添加图形结果监听器( Graph Results listener) (Add --> Listener --> Graph Results).

Jmeter 创建一个web测试计划Jmeter 创建一个web测试计划

 


 

然后,指定目录和输出文件名

Jmeter 创建一个web测试计划Jmeter 创建一个web测试计划

 

 

备注:输入不存在的文件名,打开时会报错,但是不影响。测试完成后自动新建指定的文件并保存数据。

 

Jmeter 创建一个web测试计划
 

运行

Jmeter 创建一个web测试计划Jmeter 创建一个web测试计划

 


 

步骤6:登录网站

这本与案例无关,但是有些web站点要求执行特定操作前必须先登录网站。在一个web浏览器中,登陆表现为代表用户名和密码的表单以及提交表单的按钮。点击提交按钮时,生成一个POST请求,把表单项的值作为参数传递。

 

为了实现登录,添加一个HTTP请求,并设置方法为POST。需要知道表单使用的域的名称及目标页面,这可以通过检查登录页面的的代码中查找到【如果你觉得这很难,你可以用Jmeter  Proxy Recorder录制登录操作】。

 

如下,设置提交按钮的目标页面的路径,点击添加按钮,输入用户名和密码详细信息.有时候登录表单会包含隐含信息,这些也需要添加

Jmeter 创建一个web测试计划Jmeter 创建一个web测试计划

 

 

 

 

高级设置

1. 使用HTTP URL Re-writing Modifier

如果你的web应用程序使用了URL重写技术,而不是使用会话cookie,那么需要做点额外的工作来测试你的网站。

 

Jmeter需要解析从服务器下载的HTML并接收唯一的会话ID来正确响应URL重写。使用合适的 HTTP URL Re-writing Modifier来完成这个任务。

Jmeter 创建一个web测试计划Jmeter 创建一个web测试计划

 


 

简单的在修饰符中输入会话ID参数名,它将查找给定参数并将参数添加到每个请求中,如果请求已经拥有参数值了,则将替换原有参数值。. 如果勾选“Cache Session ID?”(是否缓存会话ID),那么最后一次缓存的会话ID将被保存,并且如果前一个HTTP实例没包含会话ID,那么将使用该会话ID

Jmeter 创建一个web测试计划

 

Jmeter 创建一个web测试计划

 

注意:

1.URL Re-writing modifier添加到简单控制器(SimpleController),这样,它仅影响位于SimpleController下的请求.

 

说明:
Jmeter 创建一个web测试计划
Jmeter 创建一个web测试计划

 

如果勾选【路径扩展(使用”;”作为分隔符)】复选框,那么意味着会话ID应该作为路径的一部分(由一个”;”分割),而不是一个请求参数

 

2.使用请求头管理器(Header Manager

HTTP Header Manager让你可以自定义Jmeter在HTTP request header中发送的信息。 请求包含类似"User-Agent", "Pragma", "Referer"等等属性

The HTTP Header Manager , 类似 HTTP Cookie Manager , 应该添加到线程组,除非出于某些原因,你想为不同的HTTP请求对象指定不同的请求头。

 Jmeter 创建一个web测试计划

 

Jmeter 创建一个web测试计划Jmeter 创建一个web测试计划

 

 

Jmeter 创建一个web测试计划
 
 
参考连接:

http://jmeter.apache.org/usermanual/get-started.html

http://jmeter.apache.org/usermanual/build-web-test-plan.html

 

 

上一篇:Office2007 PDF/XPS格式插件下载


下一篇:3.数据库操作相关术语,Oracle认证,insert into,批量插入,update tablename set,delete和truncate的区别,sql文件导入