• 2008-03-09

    JMeter 第5节(建立一个web测试计划) - [JMeter]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://zlfoxy.blogbus.com/logs/16718088.html

    5. 建立一个web测试计划

     

    在本节,你会学习到如何建立一个基本的Test Plan来测试一个web站点.你将要建立5个用户发送请求到Jakarta的2个web站点.你讲让用户运行2遍测试.因此,总的请求数是5用户x2请求x重复2遍=20个HTTP请求.构建这个计划,你将用到下列组件:线程组, HTTP请求, HTTP请求默认值 , 和 图形结果.

    如果建立一个更高级的测试计划,参见建立一个高级的web测试计划.

     
    5.1 添加用户

    第一步要做的是添加线程组 . 线程组告诉JMeter你想模拟的用户的数量,用户发送请求的间隔,和他们应该发送多少个请求.

    添加一个线程组元件.先选中测试计划,右击鼠标在打开的右键菜单中选添加菜单,然后选择线程组.

    你现在应该看到线程组在测试计划下了.如果你没有看到这个元件,那么点击测试计划元件"展开"测试计划树.

    下一步,你需要修改默认的属性.选择树中的线程组元件(如果你还没有选择的话).你现在应该看见线程组控制板在JMeter窗口的右侧分栏(见如下的图5).


    图 5.1. 默认值的线程组

    先给我们的线程组起一个具有比较好的描述意义的名字.在名字字段, 输入Jakarta Users.

    下一步,增加用户数量(这里被称为线程)到5.

    在下一个字段,Ramp-up时间段,留作默认值0秒.这个属性告诉JMeter在启动每个用户时延迟多久.例如,如果你输入一个Ramp-up时间段为5秒,JMeter会在第5秒结束前开启所有的用户.因此,如果我们有5个用户,5秒的Ramp-up时间段,那么每个用户之间的启动延迟为1秒(5用户/5秒=1用户/秒).如果你设这个值为0,那么JMeter会立即启动所有的用户.

    最后在循环次数字段输入一个2.这个属性告诉JMeter重复你的测试多少次.如果你输入一个循环次数为1的值,那么JMeter只会运行你的测试一次.让JMeter不停的运行你的测试计划,选择"永远"复选框.

    在大多数应用程序里,你不得不手工接受你在控制面板中的做的改动.然而,在JMeter里,当你做了修改后控制面板会自动接受你的修改.如果你改变了元件的名字,树在你离开控制面板后会把那个元件的名字更新成新的(例如,当选择另一个树元件后)

    看图5.2查看完成后的Jakarta Users线程组.


    图5.2. Jakarta Users线程组

     

     
    5.2 添加HTTP请求默认值属性

    现在我们已经定义了我们的用户,是时候来定义他们要做的任务了.在这一节,你会为你的HTTP请求指定默认的设定.然后在5.3节里面,你将添加HTTP请求元件,它们会使用你在这里指定好的一些值.

    开始先选择Jakarta Users(线程组)元件.点击你的鼠标右键打开添加菜单,然后选择添加-->配置元件-->HTTP请求默认值.然后选择这个新的元件观察它的控制面板.(看图5.3)


    图5.3  HTTP请求默认值

    像大多数JMeter元件一样,HTTP请求默认值控制面板有一个你可以修改的名字字段.在这个例子里,保留这个字段为默认值. 

    跳到下一个字段,这是Web服务器的域名/IP.对于现在你正在创建的这个测试计划,所有的HTTP请求会被发送到同一个web服务器,jakarta.apache.org.输入这个域名到这个字段.这是唯一一个需要修改的字段,所以其他的字段都留作默认值.

    HTTP请求默认值元件没有告诉JMeter发送一个http请求.它只是简单的定义了http请求元件使用的默认值.

    看图5.4来查看完成后的HTTP请求默认值


    图5.4. HTTP请求默认值

     

     
    5.3 添加Cookie支持

    几乎所有的web测试都用到cookie支持,除非你的应用程序明确的不使用cookies.为添加cookie支持,只需给你的测试计划中的每个线程组简单添加一个HTTP Cookie管理器即可. 这就能保证每个线程得到它自己的cookies,但是通过所有的HTTP请求变为共享.

    为添加HTTP Cookie管理器 , 只需选中线程组,然后选择添加-->配置元件-->HTTP Cookie管理器即可.既可以从编辑菜单中选,也可以从右键弹出的菜单选. 

     
    5.4 添加HTTP请求

    在我们的测试计划中,我们需要做2个HTTP请求.第一个用来访问Jakarta的首页(http://jakarta.apache.org/),第二个用来访问Project Guidelines页(http://jakarta.apache.org/site/guidelines.html).

    JMeter按照树中出现的顺序发送请求.

    开始先添加第一个HTTP请求到Jakarta Users元件(线程组元件)(添加 --> 取样器 --> HTTP请求).然后,在树中选择HTTP请求元件编辑如下的属性(看图5.5) :

    1. 修改名称字段为"Home Page".
    2. 设路径字段为"/".记住你不必设置"服务器名称或IP"字段因为你已经在HTTP请求默认值中指定这个值了.


    Figure 5.5. 访问Jakarta首页的HTTP请求

    下一步, 添加第2个HTTP请求并且编辑下面的属性值(看图5.6):

    1. 修改名称字段为 "Project Guidelines".
    2. 设置"路径"为"/site/guidelines.html".

     


    Figure 5.6. 访问Jakarta Project Guidelines页面的HTTP请求

     

     
    5.5 添加一个监听器来查看存储测试结果

    最后一个你需要添加的元件是监听器.这个元件负责存储你的HTTP请求的所有结果到一个文件中并且呈现出一个可视化的数据模型.

    选择Jakarta Users元件,然后添加一个图形结果监听器(添加-->监听器-->图形结果).下一步,你需要指定输出文件的路径和文件名.你既可以在文件名字段里直接输入,也可以点击"浏览"按钮选择一个目录然后输入一个文件名.


    图5.7. 图形结果监听器

     

     
    5.6 登陆到一个web站点

    这不是这个实例里面的,但是一些web站点需要你在进一步操作前先登陆进去.在一个web浏览器中,登陆会被表现为一个具有一个用户名和密码表单和一个提交表单的按钮.这个按钮生成一个POST请求,传递表单的值作为参数.

    在JMeter中这样做,添加一个HTTP请求,然后添加POST方法.你需要知道表单使用的字段的名字和目标页面.这些都可以从登陆页的代码中解析获得. [如果这个很难,你可以使用JMeter代理录制 来录制登陆序列] 设置路径为提交按钮的目标页面.点击添加按钮2次输入用户名和密码.有时登陆表单含有附加的隐藏字段.这些也需要加上.


    图5.8. HTTP登陆取样器请求


    收藏到:Del.icio.us




    评论

  • 赵兄文采奕奕啊,很好很强大!
    fox回复hollyzhao说:
    你从哪里看到文采了.只是翻译了一下而已.
    2008-03-10 23:33:29