JMeter 学习笔记从不懂慢慢提升(01)

开源已经成为一个趋势,虽然说做测试是一个低端的行业,但是我们也应该在这个低端的行业慢慢提升自己,让自己到达理想的高度。

  以前说如果你会使用loadrunner可能别人就会觉得你有一定的水平那么就会拿高薪聘请你,可是现在已经不一样了,如果你只是会实用工具还不行,而且还是那高昂的收费工具,你应该学会语言,脚本语言、开发语言~~~~~~~~~~~

  以前总听他们说JMeter但是自己并没有在意,但是现在因为项目需要慢慢的弄了,这里分享一下学习过程。

  一、环境搭建

  1、JMeter的环境搭建这个和java开发环境差不多,首先下载一个JDK然后安装好,将环境变量配置好(省略具体)

  2、JDK安装完成之后需要下载JMeter,随便搜索一下就有了。我下载到:D:\JMeter  看自己习惯(这是解压后的文件目录)

  3、将JMeter下载后解压并且配置环境变量:在用户变量中,新建变量名"JMETER_HOME",变量值为:D:\JMeter\jakarta-jmeter-2.3.4,修改"CLASSPATH",加;%JMETER_HOME%/lib/ext/ApacheJMeter_core.jar;%JMETER_HOME%/lib/jorphan.jar;%JMETER_HOME%/lib/logkit-2.0.jar  到这里就算基本完成,然后cmd 查看 java版本,如果有那么就说明你安装成功了。

  4、这个时候你只需要启动JMeter 的bin目录下面的jmeter.bat文件就行 如果正常启动并且看到界面那么你就安装成功了。

 大家看到成功的页面可能和我刚开始学的时候一样模糊,不知道这个怎么做,那么接下来说说JMeter的搭档,因为我用的时候就是使用JMeter和badboy一起使用的,badboy是一款自动化测试工具,但是他还有一个功能就是能够将录制、修改好的脚本导出来添加到JMeter中,这样是不是很方便,这样就有了loadrunner的意思了,但是和大小将近4G的LR比起来这个小巧精致了很多。

  5、badboy 可以自己在http://www.badboy.com.au/download/index  这里下载一个最新的版本就行 是一个.EXE文件下载好直接安装就行。

  6、在录制完脚本后点击File下面的export to jmeter就可以了

  7、导出脚本后在JMeter中直接将该脚本添加进去就行。

到这里一个简单的东西都建立完成了

  二、JMeter练手

  首先要知道JMeter做性能测试的一个大概原理,因为只有这样你才知道该怎么做,其实和LR差不多。在JMeter中使用的是线程来实现,这个就好比LR中的虚拟用户数,在JMeter中我们很多时候关注的就是他的QPS(Query Per Second):每秒查询率,简单点说就是服务器每秒钟处理的查询次数。

  1、JMeter启动的时候就有一个空的Test Plan ,我们只需要将之前body录制的脚本导入到这里就行了,在导入的脚本中这里只有一个线程,换言之就是只有一个虚拟用户,所以我们需要在线程组里面添加。这里添加一句:在一个Test Plan里面可以添加多个线程组,而且在运行的时候他们是并行的。

  2、这里我们只需要将名字、线程数、Ramp-up period(in seconds)准备时间、循环次数设置一下就可以了,最主要的就是线程数、Ramp-up period(in seconds)运行时间、循环次数     

线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。

准备时长: 设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。

循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本

  3、说道这里大家可以看看http请求,因为我们的脚本是导入的,所以这一块儿就不想洗讲解了,可以看看其他的资料。选择线程组下的添加选择sampler 进行添加http请求。

  4、定时器的操作比较有用,Constant Throughput Timer (常数吞吐量定时器),该定时器可以方便地控制给定的取样器发送请求的吞吐量。(选择http请求菜单选择添加--->定时器--->Constant Throughput Timer) 主要说一下下面的一个参数Target throughput(in samples per minute):目标吞吐量。每分钟发送的请求数。

  5、添加完虚拟用户后现在就需要添加监听器,直接就是在线程组选择“添加--->监听器--->聚合报告”就行了,接下来就是运行脚本了。

  6、这里一个大概的了解入门基本结束,就只有聚合报告的一些参数解释了。这里基本和LR的差不多,在报告结果页面的samples就是代表发送了多少请求,average说的是平均响应时间。

整理这破东西差不多耗时一下午,继续学习!

JMeter 学习笔记从不懂慢慢提升(01)

时间: 2024-10-04 00:04:12

JMeter 学习笔记从不懂慢慢提升(01)的相关文章

【转】jmeter学习笔记——一种简单的数据库性能测试方法

前提条件:一个数据库:test   数据库下面有一张表:user   表中有两个字段:username.passworld . 要求:往数据库内大批量插入数据,1000/s 其实和之前的方法一样,为了简单,我还是把截图贴出来吧. 1.创建一个测试计划,将我们所使用的数据库驱动包导入. 2.添加一个线程组,并设置我们的虚拟用户数.启动时间.和循环次数 3.创建一个线程,并在线程下面,创建一个JDBC Connection Configuration ,设置相关信息. 4.创建一个JDBC Requ

【转】jmeter学习笔记——参数化

JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现. 参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统. 这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问. 一.准备脚本,测试数据 1.录制一个脚本(可以用badboy工具录制),在jmeter中打开,找到有用户名和密码的页面.如下: 2.我们需要“参数化”的数据,用记事本写了五个用户名和密码,保存为.

【转】jmeter学习笔记——关联

依照<[转]jmeter学习笔记——一个简单的接口测试>一文中的例子,记录讨论关联 所谓关联, 就是第二个Requst, 使用第一个Request中的数据 我们需要在第一个Http Requst 中新建一个正则表达式,把Response的值提取到变量中,提供给别的Http Request 使用 选择第一个Http Request, 右键 Add -> Post Processors -> Regular Expresstion Extractor 现在新建第二个Http Reque

Jmeter学习笔记[1] —— 简单进行一次接口测试

关于Jmeter的优缺点及安装教程,网上太多了,所以这里省略不表,让我们直接上手玩一玩! 首先,本人在使用过程中语言选择的是中文,如喜欢英文的可以自行设置 下面让我们正式开始~show time!! 选择测试目标,这里我以360搜索引擎登录接口为例,地址:https://www.so.com/ 首先,选中测试计划->鼠标右击->添加->Threads(Users)->线程组 因为这里只是做一个简单的试验,所以线程组中的配置不用管他,保持默认就好 选中线程组,鼠标右击->添加-

JMeter学习笔记--详解JMeter逻辑控制器

JMeter使用逻辑控制器来决定采样器的处理顺序 简单控制器(Simple Controller):存储设备(将某些采样器归组) 循环控制器(Loop Controller:设置循环次数 仅一次控制器(Once Only Controller) 交替控制器(Interleave Controller) 随机控制器(Random Controller) 随机顺序控制器(Random Order Controller): 每个子测试元件都至多执行一次,但是执行顺序是随机的 吞吐量控制器(Throug

JMeter学习笔记--创建数据库测试计划

添加线程组(并发用户):线程数(10),Rame-Up Period(0), Loop Count(3) 线程组添加JDBC请求(配置元件):Variable Name(MySQL), Database URL:(jdbc:mysql://localhost:port/mydb), JDBC Driver class (com.mysql.jdbc.Driver), Username:(数据库用户名), Password:(数据库用户密码),其他输入域可以保持默认值不变,JMeter会使用控制面

JMeter学习笔记--使用URL回写来处理用户会话

如果测试的Web应用系统使用URL回写而非Cookie来保存会话信息,那么测试人员需要做一些额外的工作来测试web站点 为了正确回应URL回写,JMeter需要解析从服务器收到的HTML,并得到唯一的会话ID.测试人员需要使用合适的HTTP URL回写修改器来完成这一点.测试人员只需简单地讲会话ID参数的名称放入修改器中,修改器就会找到会话ID,并将其放入每个请求之中.如果请求之中已经有了会话ID,那么它就会被替换掉.如果选中了“Cache Session ID?"选项,那么最近一个被找到的会话

.Net学习笔记----2015-07-15(C#基础复习01)

一个多月的学习,基础部分基本告一段落,现开始基础部分的加强复习 1.注释 单行注释 //注释单行代码 多行注释  /*注释的内容*/ 文档注释   ///注释类和方法 HTML<!--注释的内容--> 2.命名规范 1).Camel  骆驼命名规范:首单词的首字母小写,其余单词首字母大写,变量.字段 int age    string name   char  gender...   string  hightSchool int _chinese (字段前面一定要加下划线) 2).Pasca

Jmeter学习笔记3-参数化

以实战为例,进行讲解参数化,本次讲解采用sogou.com搜索为例. 两种方式:一种可以在badboy里进行参数化,另一种在jmeter中进行,本例中采用在jmeter中进行参数化. 使用的脚本在badboy里进行录制后,在导入到Jmeter中. 1.导入录制好的脚本到Jmeter中: 2.第一种参数化的方法: 1)添加->前置处理器->用户参数 2)创建参数 3)将关键字进行参数化替换 3.第二种参数化的方法:CVS Data Set Config 1)操作如下: 2)设置参数 说明如下: