zoukankan      html  css  js  c++  java
  • Jmeter 快速入门教程(二)--创建简单web测试

    [版权所有: whoistester.com & jmeter.cf]

    http://wenku.baidu.com/linkurl=9zc4VHe6vUUeMdDZPpNsRehkazZFwC0l8GWoJKBt9ZIJliZYj1yHVamdOseicOKnzsTDy7NtyAVV9bmIqah1m0U9i4ZKqnpz7WB01Euw8Mu

    今天我们就来实际用Jmeter创建一个测试场景,并进行性能测试. 注:由于本人使用中文版本,使用英文版本的请注意具体的菜单及参数名称.

    创建测试脚本有两种方式:1、通过jmeter各种元件创建场景  2、通过badboy录制脚本

    一、通过jmeter各种元件创建场景

    1. 添加线程组(相当于lr里的scenario 设置)

    打开jmeter主窗口后, 选择左侧树形结构里的"测试计划". 然后右键选择添加, 选择"threads(users)",我们可以看到

    threads

    jp@gc开头的是google jmeter plugins里的threads group, 稍后再做解释。其他三个thread group是1)setup thread group 2) teardown thread group. 3) thread group(线程组).  如果您用过junit,想必你不会对setup ,teardown这2个字眼陌生。 即时每用过,也没关系。 熟悉lr的应该知道,lr的脚本除了action里是真正的脚本核心内容,还有初始化“环境”的初始化脚本和测试完毕后对应的清除信息的脚本块。 那么这里 setup thread group 和 teardown thread group 就是分别指这两部分。

    ok,我们先添加一个线程组。

    threadgroup

    jmeter自带的thread group非常简单。  一个thread 代表一个vuser,那么我们如果需要多少用户并发,设置多少线程数即可。ramp-up period, 本人理解是多少时间从0个 vuser 上升到您指定的vusers数。从这些参数可以看,非常简单。但不能设置测试的时间,这一点不是特别善解人意。不过还好我们有jmeter plugins,  带的thread group 添加了这个功能。

    设置调度器可以设置线程组启动的开始时间和结束时间(实践结论是设置调度器配置时,需要设置循环次数为永远)

    2。添加一个http sample (测试脚本的主体)

    选中线程组,右键添加一个http sample。如图所示,用baidu作为被测系统。

    httpsample

    我们可以输入默认的连接超时和响应超时时间。lr的默认为120秒。所以我们也同样输入120秒。

    3。添加结果树(用来debug脚本,遇到性能测试错误排查错误等,默认不会添加,所以需要手动添加)

    为了方便调试该测试脚本,我们同样在sample的后面添加一个“监听器”里的“查看结果树”。这样每次运行,默认会把每次的http请求的request 和response 内容记录下来,方便我们进行debug脚本。当脚本调试通过后,则我们需要将查看结果树立的“仅显示日志错误”选中,这样错误的便会记录下来,方便遇到错误,进行排查。

    4。添加聚合报告(用来记录执行的http sample的执行结果等,需要手动添加)

    聚合报告里可以记录成功的事务数, 平均响应时间(最大,最小,90%), 错误率,网络吞吐量,事务每秒。我们关心的测试数据基本都在这里。

    ps:响应时间单位为微妙,单位换算为:1秒=1000毫秒=1000000微秒

    5。那么我们就可以执行本次简单的测试了。

    那么先来描述一下这次的测试场景。我们把vusers数改成2, 循环次数改为5次。

    就是并发用户数: 2

    思考时间:0

    循环次数:5次,循环完毕停止测试。

    6。清除之前的debug信息(ctrl+E),erase清除掉之前记录的测试数据,选择菜单“运行”-〉“启动”,则开始了本次测试。

    ressult

     

    二、通过badboy录制脚本

      见另一篇关于badboy录制jmeter脚本的介绍http://www.cnblogs.com/wangcp-2014/p/4810446.html

     

  • 相关阅读:
    【C++】资源管理
    【Shell脚本】逐行处理文本文件
    【算法题】rand5()产生rand7()
    【Shell脚本】字符串处理
    Apple iOS产品硬件参数. 不及格的程序员
    与iPhone的差距! 不及格的程序员
    iPhone游戏 Mr.Karoshi"过劳死"通关. 不及格的程序员
    XCode V4 发布了, 苹果的却是个变态. 不及格的程序员
    何时readonly 字段不是 readonly 的?结果出呼你想象!!! 不及格的程序员
    object file format unrecognized, invalid, or unsuitable Command 不及格的程序员
  • 原文地址:https://www.cnblogs.com/wangcp-2014/p/4800450.html
Copyright © 2011-2022 走看看