过去长期用loadrunner做性能測试。可是渐渐认为有些麻烦了:

1.仅仅能执行在windows环境下,而生产环境差点儿清一色的linux。为了在同一网段做性能或压力測试,还须要单独部署一套windowsserver,比較浪费。

2.loadrunner和浏览器版本号绑定太严格了,比方loadrunner 11。最高就支持到ie9,有时候系统打补丁自己主动把浏览器版本号升上去了。就无法录制脚本了。

3.版权问题也不容忽视,crack带来的各种风险也是存在的。

于是尝试了一下JMeter,发现还是相当好用的。在多数web性能測试中。功能也足够了。

总结一下最经常使用的操作,帮助刚開始学习的人高速上手。

安装:

Jmeter的安装实在是太省心了,就是解压缩就可以。Windows版本号一般是zip包,linux版本号一般是tar包,仅仅要系统上有JDK,直接解开就能够启动了。

(\bin\jmeter.bat、\bin\jmeter.sh),启动后是这个界面:

录制脚本:

和loadrunner的主动启动被录制应用不同,Jmeter是启动一个代理server,由浏览器设置去使用这个代理server。以完毕web请求的监控和录制。

所以须要在工作台右键、加入——非測试元件——http代理server。

重点是为代理server设置一个和现有应用不冲突的port。然后在浏览器里设置使用代理server,port就是上述设定好的port。

点击启动button,代理server就開始工作了。

此时通过浏览器訪问web网站,所发出的请求就会被记录下来。

可是假设如今就開始录制的话,会在上面的列表中列出一大堆。显得非常杂乱。所以先在測试计划中加入一个线程组。

加入线程组不仅仅为了看着方便,还有几个作用:

线程组相当于loadrunner中的一个独立脚本。多个脚本能够组成一个測试场景。

模拟多用户时。也是以线程组为单位进行数量设定和调度设定的。

如上图中,对这个线程组採用模拟10个并发用户循环5次运行性能測试。

运行结果要能看到反馈才行。所以在測试计划中加入监听器。经常使用的监听器有SummaryReport、聚合报告(这两个很接近。用一个就可以)、察看结果树等。

也有一些图形化的监听器用于各自须要的场合。

这样,一个主要的測试流程(录制、測试、报告)就完毕了。再介绍一下參数化。这也是在性能測试中最经常使用的,比方各种查询。所谓參数化就是希望模拟用户操作的时候採用不同的參数数值。如模拟用户检索就希望每一个虚拟用户发出不同的检索请求。这样才更能模拟实际情况。

此时须要先准备一个检索词列表到一个csv文件里。然后加入一个配置元件——CSVData Set Config,然后指定这个文件路径,并给每列数据指定一个名称。

命名之后,就能够在须要的地方。用变量名替换原有的固定字符串了。

当模拟多用户时。系统会用csv文件中的内容替换这个变量。

有些时候系统须要session信息来验证某些状态,假设没有发出的话会导致一些错误。这个时候加入——配置元件——HTTPCookie管理器就能够了。

常见步骤就是这些,通过调节參数设置。能够更精细地完毕多种測试任务。这就须要在实践中逐步积累经验了。

JMeter高速应用的更多相关文章

  1. (转)学习使用Jmeter做压力测试(一)--压力测试基本概念

    一.性能测试的概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测试,两者可以结合进行. 通过负载测试,确定在各种工作负载下 ...

  2. JMeter学习-009-JMeter 后置处理器实例之 - 正则表达式提取器(二)多参数获取

    前文简述了通过后置处理器 - 正则表达式提取器 获取 HTTP请求 响应结果中的特定数据,未看过的亲,敬请参阅 JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一). ...

  3. JMeter在里面Json数据处理方法

    http://eclipsesource.com/blogs/2014/06/12/parsing-json-responses-with-jmeter/ Json作为一种数据交换格式在网络开发.特别 ...

  4. 使用Jmeter至WebService压力测试

    使用Jmeter至WebService压力测试   目中我们使用了Jmeter对webservice进行了压力測试,Apache JMeter是Apache组织开发的基于Java的压力測试工具.用于对 ...

  5. Jmeter函数引用和函数重定向

    在jmeter中的[选项]中选择[函数助手对话框]---这些函数可以高速有效的帮助我们开展自动化编写与校验!!!!!! 如图: 重点!!!本章的侧重点不讲函数的具体使用,函数具体的使用与java类似, ...

  6. 性能测试—认识JMeter(三)

    <零成本web性能测试>第二章 JMeter基础知识总结和自己的理解 一.JMeter百度词条概念 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件 ...

  7. 性能测试—认识JMeter(一)

     性能测试—认识JMeter(一) <零成本web性能测试>第二章 JMeter基础知识总结和自己的理解 一.JMeter百度词条概念 Apache JMeter是Apache组织开发的基 ...

  8. 【转】学习使用Jmeter做压力测试(一)--压力测试基本概念

    一.性能测试的概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测试,两者可以结合进行. 通过负载测试,确定在各种工作负载下 ...

  9. Jmeter函数引用和函数重定向【转】

    在jmeter中的[选项]中选择[函数助手对话框]---这些函数可以高速有效的帮助我们开展自动化编写与校验!!!!!! 如图: 重点!!!本章的侧重点不讲函数的具体使用,函数具体的使用与java类似, ...

随机推荐

  1. 【贪心】【堆】bzoj2590 [Usaco2012 Feb]Cow Coupons

    每个物品有属性a,b 考虑在仅仅用光优惠券时的最优方案. 显然是按照b排序,取前K个. 但是我们还要尽可能去取剩余的. 假设朴素地取剩余的话,应该把剩余的对a排序,然后尽量去取. 但是有可能对其用优惠 ...

  2. [转]Java中子类调用父类构造方法的问题分析

    在Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的? 答案如下:    当你new一个子类对象的时候,必须首先要new一个 ...

  3. iOS 日志管理异常捕获组件LFLogManager

    一.功能 1.分级打印保存 解决一大堆重要.不重要打印信息在控制台混为一团的尴尬局面.可设置仅打印某级别及以上的信息.分为5类打印: DDLogError(@"打印并保存特别重要信息&quo ...

  4. mysql-mmm故障整理

    Auth: JinDate: 20140414 1.master-slave同步问题1)故障描述和错误代码:监控报警slave故障登录slave服务器查看mysql> show slave st ...

  5. ArcGIS 10.6 安装破解教程

    ​​美国时间2018年1月17日,ArcGIS 10.6正式面向用户发布!10.6带来更完善的产品体系框架,同时全面拥抱前沿IT技术,升级平台大数据.三维.影像等核心能力,为我们打造了一个功能强大,性 ...

  6. \r和\n的区别

    /n  是换行/r   是回车 这是两码事,换行是指移动到下一行,回车是指移动到行首,我们通常所说的“回车”其实是这两个动作的结合.

  7. RES协议

    MFC 通过HTML访问内部资源 资源导入JPG的图片,资源对应ID是137 <img src="res:/JPG/#137" width="100%" ...

  8. Python结合Shell/Hadoop实现MapReduce

    基本流程为: cat data | map | sort | reduce cat devProbe | ./mapper.py | sort| ./reducer.py echo "foo ...

  9. C语言-对一个结构体中的字段进行排序

    这是帮别人做的一个题目,好久没有接触过C语言了.有点发怵,只是似乎找回点当时学C语言,做课程设计的感觉. 题目:定义一个数组(学生结构体数组),里面包括学号.姓名.身份证和三科学生成绩.要求写一个函数 ...

  10. iOS:键盘弹出和收起的通知使用

    介绍:不论是UITextField,还是UITextView,使用它们输入文字时都是有键盘的弹出,此时可能会挡住我们创建的一分部其他视图,此时,就需要根据键盘的高度将我们被隐藏的部分View做向上或者 ...